<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="theme-color" content="#3367D6"/>
  <link rel="apple-touch-icon" href="/icons-192.png">
  <link rel="manifest" href="/manifest.json">
  
  <meta name="generator" content="Hexo 6.3.0">

  

  

  
    <meta name="author" content="QAQ">
  

  

  

  <title>若依集成goView设计器 | QAQ</title>

  

  
    <link rel="shortcut icon" href="/blog/favicon.ico">
  

  <!--mathjax latex数学公式显示支持-->
  
  

  
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/typeface-source-code-pro@1.1.13/index.min.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.7.0/build/styles/monokai.min.css">
  

  

  
<link rel="stylesheet" href="/blog/css/style.css">

</head>
<body>
  <div class="root-container">
    
<!-- header container -->
<header class="header-container post">
  
    <div class="post-image" style="background-image: url(https://qiniu.sukoshi.xyz/src/images/68686407_p0.jpg)"></div>
  

  <!-- navbar -->
<nav class="navbar">
  <div class="navbar-content">
    <!-- logo -->
    <div class="navbar-logo">
      <a href="/blog/">
        
          QAQ
        
      </a>
    </div>
    <!-- link -->
    <div class="navbar-link">
      <div class="navbar-btn">
        <div></div>
        <div></div>
        <div></div>
      </div>
      <ul class="navbar-list">
        
      </ul>
    </div>
  </div>
</nav>

  
  

  
  

  
  

  
  

  
  
    <div class="header-content">
      <div class="post-text layout-block">
        <div class="layout-margin">
          <h1 class="title-wrap">若依集成goView设计器</h1>
          <h2 class="title-sub-wrap">
            <strong>QAQ</strong>
            <span>发布于</span>
            <time  class="article-date" datetime="2023-12-16T08:29:47.000Z" itemprop="datePublished">2023-12-16</time>
          </h2>
          
            <h2 class="last-time">
              <span>最后更新于</span>
              <time  class="article-updated" datetime="2024-04-09T01:08:52.136Z" itemprop="dateUpdated">2024-04-09</time>
            </h2>
          
          
          <ul class="wrap-list dark">
  
</ul>
          <ul class="wrap-list dark">
  
    <li><a href="/blog/tags/goView/">🏷️ goView</a></li>
  
</ul>
        </div>
      </div>
    </div>
  

  
  
  
</header>

    <!-- 文章 -->

<!-- 文章内容 -->
<div class="body-container">
  <article class="content-container layout-block post-container">
    <div class="article-info">
      
      
      
      
      <section class="article-entry markdown-body layout-margin content-padding--large soft-size--large soft-style--box">
        <div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉，这个密码看着不太对，请再试试。" data-whm="抱歉，这个文章不能被纠正，不过您还是能看看解密后的内容。">
  <script id="hbeData" type="hbeData" data-hmacdigest="b5e4d1360fa16acae39a8a5a0265734712a2fd1e5ab7b7c66abc8d4c7276f45d">f5d7027a76d40f8b4fe5a79716a716fbbd2e7a9d87fa4ffe1b23e27c10841cf59943e07d31a3d1da54ffa5d04c70d68c8392cf526813393d57fd1ae275eb31efcd940656f33f862ffd2cc84b52a27c05a392ea0aca1459b95e6eeb56efc41a075ae21adf917740d8221e43f8a4707cdae2dffc7ab8613a28e156775f65b7935f115564b60c230e0bf3a634421aa31f09d327e7e8a073ccdd7622ad080d26408cd78d650af36ab722f008713ab2c3b52f7db8f9cb00b7c7d42fb9ca5d2e2aa654f2dc2b33a4b41c6225bb4cd32d691bf56b1214b31f9d3830e127413bf12cebc1d9c11fb491e2f4836f1350e2feaf9562dc827f88b13c7c6b7218a277f06e358a212ed28bdffb60e5706192e276da58c91e1da531b550c38d2ee20ea38dd4b62f99546b2cc87f1367c1838fd1358e40b8c9bf0bd692b62d7f6458a7aa6d1c08b0dc74b9f40eb218b4bab874cc4f032fb9b491b7c4a0ed3a06c356c28088f8173417bbc008565fc3f93799564d8b373ffc4a137c6d02f2120fe6ff7d1846dddd2e6df208b81716952f10a482a323e0c93ae38d1ee3176219e61363a1fac3d961e16f78cf8a062e3c0df33c33652d8f07a6cd55aceebc76fcf0e4c27117103258aa5904c7f090066ca34df480168e2df5e40fac763034a4a81947d557f58e27e0f004ab8c33bef7c3a13e43b554cb5dd0c0cffb181d9c8c513af39888f2536923b07d2763bb914300065627100fd46760d83e9e7edca6aca1cda5aa676a23ee5edca445158b42bd4a30188587c831f827e9fdcb69262b1808207f2a6e1dfb818ced13212cd73b3eaaa10d3439eafdbb1091b434193e7ffb9ee7e460f33eea2fc55076f60e5bdc078687be4766c465e5a9f1a93fe7fbc205c804f0e50d0ebc1c332f011d21dd1ccee5cb5a749388ef6ea2cb403b6158d633314b006cfa468c734b0864dc6973f999b09721f0de6ddf2f2d3adab05c8a50d656d36b679ccaf21fc02561eb604115922403eef0dc89ed82fe329b0002427264ef2cb85f059a350792b8e86ee0ec57fc8b5ead825b7a68d830c9e02ff650aaa2cf52eba24ffaa5dcfa453bff1042c34cfeab125909f5a2ae77fb61ab241126059a79fd25f49a40fde6d35e272429fa31e42ab48b24e311ec59e71c47e559eab650b404d0d8f0a17e723bda2be553bcc2e142d349cc8ab453f818c3401ac7355a337027c864161c0456cf98d59535b25b35f6c6df28e68770f551a60e3cbd97bcf25f0dac7f9951e00b634513610b4841f4d69a76f1db5645431e3503d71bb25f6853b93ff2d4ac63363f27946a26285b85909dfbdea67a5ef3987c451dd2f7a63c4b4451f4ec253af0b9061ab23688170bf7e93a3be360cc999535b07423b618c55e2a5aaf3e1cac633e50a6b1f8f652ddabe28b7d552b171650d9479d74e868eaa30ae609f5beae4cf3f7c452793dbc2dfaf3ced1a1001cbd2b7eb1f8b039650de871b3832e5be33bae943b749eb6e1ff2a0bbb8584ae9d46ee1f1849beae999b238d469e68b63cf8438eda1ea077a2e35fae92b6251a6bc65202b94506df352dedeacfdb35ffb4bb114508a5ea7f3d9cf98576b5d45ab390821c163093351c98f997ec291b02f1d902ab165290a3ad2839923b32da03fb49cda2393b16180dbc3435372735aec91a373583cf103c5ea1511216f651f43f1cd52830aef1d233507e4769ba87e26a2467f33709654418f70f3fe5ea4ff892c05c4d86f1936889df1ef269c61dfcfb866704436d2fbe2e323a0d6cd628eb3b198f0e9c1aef021e2a8db6a2738fa2e059289c7fe5b02d4f7a1c11ec7f36655a918d84c95bd96bdcf7de6b6c293b9698cd4e9f6a8339e7737545b5d9692f9c8bab4d82e06afc4c82819fd030e79352f801c55da287bcf2a499f9592a4855f558758002507c053862fe51fb5dc4b5c2882b4ef98ad8813557eae96d8492f619ae85c7e95a2b96005e0df0c682cd9e7fb65041a350397690526bbf86c6036270f86d3eb98018d65e30d33e73651ba5968d71371ff82ecb8ea07f630cde0a41e7eb6bb63fea66668b63c34046b7e4d73e6c56e09e8f1e4b9fcea13cb41a122b8fa01def4f1f88366025d856f3e6c93a927c0e2fd0084062b376d85b709e71423f8e0024dc77a3084352060a1a8f48bd2f35c7049b48806e493f43464bf7aab88f009b1efd63f9fedd4f58a4b3974e41342b8d3a557ac373746930d02c2dbffda96be3c637687c9f5cebc8848cfd6835aba38a9d1a2acb7a66d4f90b3b8eae989165a1e360162f92f499b0eab1ac65664dd537d1e8866b6116c905368b7e5e19c45344c8c278c6a0cfab94edd60ec3ee395f5ecb554019f2d0b2da9d1a6259e8fc72f1f0104e3d56255d05fc8471b1d67002f98344ab814891fe3e88e69813050df75fc4f42e394236b7b60d4439560caac82b4d3d2bcdd354ff329f5d708a866c6a5e5a4f43951d11abdc5dcd64a106dd036132931929e53367912ac8377259f5e9f4c8e423922cfb42679a35e01f85cf7bc3913edf2de54c51a501d343ffeecdb08126884131d95ce4510e11778859877c38f46a22599e58c2199f87101824542a40285f8f44bae81d1a4d7b758b0e8e837479198aff3b0a9d40be3e9226dac852d7b35e030ea3fa44763d9435ae48a2d8c57e36e3a8c36eaa1dd75b6dd3d7e3fcc513e09f2b76cfde9d5f8d6fd0ddacebac8765b01eaff3b52e6c3216d4279ac22c9326a76fe4283ca8ad9559fbb955cf100793ab16b6ba612f38bc563ca09fad80fcf75b23c91a6745113f0a5f04168cba09355d43cf6943d1d7528dd8e5d9ccdfc6b56f13ef0f81fbd850273b891afca9ae7cbc4304364fc6a832fd1425135da7fd85dfc5befeaaebe9abb90fd56f7ce1f067785d8e651feb0f31c22912b16652737aa7f415095d7fa68557c382837f992c7a06c0ead37a14f7a390f4c4aa663160d567d60bd49accf057b666a654163548fb48a2b84920d44e6cb58bab7697c29e4cdf0f4765c1e2e2bb63d3e7afec05d96ed92340f728249c2a9f37e1aa6d0d8155070a5e61471f5b95d649285c4d92a675799b978b45dadf5e1caa4a9242960cd8c0c06e0e4edeb5a4a23c76b14fb0c7dc9a9ed4f1a4fbe4cc4d4602f3ab2834a97bad0c75f31fbc7794f5f9a8ad5d62160c868a5bd8dad5efb86d8ad84517638baaffb919a676d28fb586b36b57c4b2121f91426303acd19c419b9773c21370108e94bbf4f16e13333f43a85566c81e57a12b89eec4132a7236490723e99f13c04f44a5fe2117aa23b69f4befa6a1dd80eac793c4a59fea34a6413a8eb979f8de8fee6bde8552365dddd6fd61de2f8f326c4dadff38d2bec69ab85f42b0f39e816edfd31cf21327ed5e327548414901befa5f298b5b40eee8b84db8b20cf182c56f3c0b616926c37b8fb2320847e5e083eabb390241363f5103dc21f671e32e98097268eb07be289cb326e3f7ef263a5b114c9c29597effdd69f4e2ca0b3bcac9e0c7f3f506800718c3c2cb47b32e81ce73bd96d48116e8428eb3fb61f08fc5ee46ba2298da53b4065e9682255055171f86d3ed091b19157b9cf32d61b9e51982ded6324e215595072ba506c799dd9249c66d0611a0bc5c5cfee7e7b9c38eb21893a3d76b707c5d3de5fa1bbf352cc8df547efcf9b9399fae8dc1d8334a08230b3112bdece0839f7cf8e5f41c3c5fbf523be3dfdd05eeb5e4ac307532e1d259c94cb63fa34344252b85c8abd682185f87c1fde300bb18dd7a5d540533a27ecc94a5222f974d4063547adfba96302028f5ca0f5d7baa332cb62f483d7e7d5d53087eea076b9a2ab5190a04f6083f20fb3d50b227137b2b1fd7f7bad4b8c51d6124838d24f86b0c5d53c011b34ed43131bf9220999e469906895f38ec6be0281f652ab6754f173441395ad8da8362fd283c297a5b4542fefb892169e97198308cda3fe151fb6a8eac655ce66bf103e934a78401777bc8640bd7870643e7ebd9a88e4ec8a672222aadb92ee7057f1bd3c2cb8cfd626b51e639e62ecf7e392691dc275184580aee8810497f864798cf2928bac5d058cae8cb388445d0b9a4b63446452cc3f4addb4fd7884a34f1c99edb458c0d5cb0151c7294c149b6eba184cae6532c1fc7834de485b53e860a68c2ca769a0f7fb38bfef806e48f2d228d1fcb4b4ef6bf33e9afd3a19ddbb1cfde2b62af8c858e300e0d20503dcfb3049c84c5dcea834a6574b4c4b4fdfec9078f8844e47cacfd56abd66faba06ec91d67abbb303288b1be6ac819981db9cb732ab887fe6fc6099e5394affd15be97a1b4519c52197b00b187650a4e102c6192dacf7fc1bc45d13f7ac0c6a5450d3918f01b27556614faf5769edebe6e9d0815c8c99790174fd52ff0e2cd4a2a2bfb6c63a616720d5bdf3694137196bbd4c4328f5be8748951a857d4b1b37254a5f95a75c246230a723996644fb1564ae067f45319692fff9f4581654b839b19a9fcc0a6482f43ea4436603781481bf90cf48edbef1c4fe384d43a691afa5ebd7f29784176937914b7f2eb1c540f1fa7492a96be1ad6df4d57961c8a0b417796db097e47031ec6081edaad5439d7ccbe7bf405e6bd9dbd0e6d00ce7b018688127ceffb58f8e9e8620e63aa4bd6812009480a746356848927f5afa187c47fb2ce8d2df68d1c1f4fec3b33e9b1ef3853c6d737672f102a6c52ba9f1d81dc9355d0de1535089994656ae1453e2720d2d409e36c83823dc2114fb2e458c11cc2d71e9b39fceca07c86cc9062ed5782f5d3f81f9a4cff5448893803d615c2ac1ea1f5946f9ee0f65333bc067496248422a0759339106e0b78d9168f27de52ce7164d119bb066b9c9e67f41527913da63c43cdb259b8563fd6aaaddd8deffeecbc975a8f9e82e591d5b5a7ef3245d390bd14f155ab9af56820269dd7929c877761197f3441864e0ed9a4a4901ae4cb03cafc8f0937ccfcddfb45767d519f1baeaefe9676fd54986c2ce9d79692a0f8323ffb03cb2a40ac6f1323c29990fc83bd0857bdc75f833bb73df2f06bded67bbced0a93a90c510d07cee254508a22a79a57e8e7e6312ef71ad4c4376108a3505dcca3ff7154b3be9763a1a65f185bde5d6dcf46a75e72a15850b3daafddd515471b3afbd65bb044cd4dc701c61fbbe6102afd59f92e49000924b2fdb47d6c7dc85df8a80d717cf5a76a132825bc19c5b290b535bfb003164490b4a17a399f477d3e8d5e06fb70921fd140ba0312fbabe7d0ff8068792512626605bd0ec775bedd1d6a2f76766dd88fb8e91d4f120d5475c8e025cb72a14d38d9a216bbb60016d565a7a535b49b6cf02611d3be745a5a09b92fe997f84d2ee19ab40e1d971ef8a43c9f1ac70695febf3fd11be982f6970f6be575445dcf52fadc45a40dc227e1ad148681b41e82026849b9fb5213c540436623670ee9c0e99893aeb7f37f821b640fc7d28e31192fb2ba5e40d1872b9e9e29ab724723f9440a59445066df3becc5c932fe040931c32e82af996acc1b7d132c94e502eb343180d98555d0eb2902a3ff1eb4e4bb083a7c8659092acbb744226342f93743a6c3531e71bfbe3d61b964d8ab29af88c235fc36f28c8b44e43abd047cd94ed855bf68c680c6c8008951afe91022ac28fd70e301774bc0b024be72c9728d864f77e7801bf5465ba217316c64eabf9982f6e25c8c3eb290b59781e82aed892b12a81208c904a977ac492532c3ef4c4ddf61512bbaddc661a27c333f2d47ba5b1c8432c6d2f90b1ce12f81ecde7b2d39c8a12ce55376c06d0e0dd713b143b026b4cc887d8c8642104753c0e7ca3883487825d3d82a7c4a62d4a4231c6317f3b21bd25f710b5495e8d605c0c9428698b3cd5ad2cef644c1e8ab5d1d71a687c06d1d9be575fca69011a3ffaed7dde09e0667c05cc7bb47b53724cbc737a294ed0d68595bb92bab603720edad95e6dd8389207a70baa7781f72b5dd44269b41dbf5f6f6948612fee0360c440b3c7ae238ac7181140521f1b2703387df4140b2a5c9ac0dd5f2cb758f819c9ccc9844c1594edc68ca394a5146e9179c99ad66d3fa73951f60aa7a617ada5841d460de142f2aa333db87746c3b3c87b4b342e9484b4ccea0c5262b76075e8dc4d1e957d18e6201b6c3f72ea11f9b42f619315d0efd6f920584198b1f71e2fa7ebcdb6c0f107912a7032490a02fb4ea85ac73a74034b35bdc2d89ef9ef8e35c28383f7d8bda614d8f6bc0e844f621f71a3104bce532116ceefd886d4ad85e18a9f3de72e63e192168d219104e92a5b65d7fec3b50a6650d75a3a0bf8f3662f18c52e37564a6fdf08ce0bf67b3346e6f6fd72a8f2037261db8be7cbd9e6a00e36be9d8003d554bcf3c3b17a2482ef0c9bcdc3935e0e8f8da450ed21451c438114c1a25bf895ab9e9ef22a8179cae79c33b5dabc155d7213a42e688510facb69f57d52d06dfbdba5cf32bd7d5e644fbb4e523d1e3768a05817e87ab1026559a1043049d27500f23c1f2e03789f94f05346d03bc8320c8c622d8c96882f0d4bf83b891fb7b2861e40a14799a8dffe0408af6b8c9842adfe97273bb3c556e284376b2dcfe04119523fdb7a2418f191ce3aee51abfec9a92f7e3dfae613785ddf11badbe40fd018a4c79fb514f45fc2389cb41c86cd020658254190adf2390e32e375bdf4fd893af0aff1174c2113df77a8ab399f09f3a89b81debd96fe2e6e8d4a0f10209904059a14743f347e6223814659efae8ce6419681c5890e210f33d891e88f95176419fb838caf7412da6f306fa6210bf312fc4ced835d4428fafc56a42c0f9f786ac284f85d41d2a97bc9834788adfda66cd8249937aa8ae20176b04497f3027f2d8fde8af1f91dea98a15f38de12a94f956e78ea4f59dddf021d7a3bd741c7e6569dc94a07d7f7836cb94f2f85310b8e50e1c763b6bf127e355d1f63f5e168c8445f7e1523ac9f5434e0565c23830115c7b06a18ca08d00b00ad2078f7c3c544f3cab54064421763a6547b98a62b8507d7ede0f606d0ec4c8d44ffeea33001317fbfbbf5ea6158cab3bae7cdd7cb45993aac5290cb4766a241278be98efd7348676e8178d4dd9638f1ba7c6ba240218a2f98d4da868595936528f12e6bb90e5805c431bb8a3c3d833f37ec1f64147f446da8c1b9326b7a35d61b025f5739e7f0c2d646b88d05a7ffaa9dca19dc5f5d62b53366669e0739a8cce378e6930fc634df80a13c98b71d35102bbd68b01a6c30dd6fa56095d8ce503ee5d76466d8bea33bd5f9f8c463de5f34887c77ce48ed0395222f36c74f8516dc85a2189cefc1ab914a50de72713292f45bf6140b1dc705f938d5ab5adf22d7118e4ce77345c58c08dd9de9ba6998e0867067e3e2edcd9e9c90a7cdcd9a63906ce85ebfdb7da69f24bfe5c07c0b338eb72761d5ab0eea2d1902e7d8eab74f0e7b3ab1a480ca5a78b4e67613ccde82eb6091291cf06b70af8d4b9c8ce6cb94d815feb58be875358494fd414595dad7683bc3373c74ae2f61e82fe602ee15cb6505d2b07937a36f9e2949178c7e077ed3baab59bea9173e1a99f9824643abf9632d28c0abba9823c120af7431f396433586f7c5ce924a78dba7ada47cfb22c107b7486d4035d6f4ec2c20df494d31014505e0795f62d8ffb35ea88a6d33bba69162c3209ddc800cb3a9d86ae2efced825546e982c4a843ae68f40b448252d8784e28f37b41e52795c25c3a016b9ef7550f38a2f2223fbbe88e0238b3ab7acfaf698f4f542d336cef0e5ae4887744eb61b08175a64cc8ab3fe5db44429e8dd9110dbca39d8efb6d86e10db3569db8283d99f2f2eff5dd239c7034833257e7456e2bd9d61ca0a771e2b5776ad0f954c9aac413935cbc9dcd67044460b312044ee5ee88b7986aa12708682ed4b585951244af1c592df09be23985e67f97c15a95f950cf87acd6085efad686e07897562926d24a6b10ba9a2d7a97461051955c25ce6dd35b1c433e03e7a509c469a23d52324674c5e29cd64d86851031936158b4f940db15a4f1c0a2c1be2edee83a8b4369b1c81e3c34903ad2362c959167380ae8b071815ceeeba87ab4c45b860586aba5fcccead2f2218dc7e41eab864ec299e6534bb57282055587a89687bcedc1310db7511a9ba4be576ebb93d2b9006efb3602ca1e8b8bf81ab8b79872d93431cec01b19ba5afb63ec483e8b9be6010b0f4878e1ac52a0874d57938df0d0998cd144a1f4e1bf4fe39466b8f0fbe2f510acdb9d03908d8357a8faba11ce166affca7112333e8810d28bb7ec61bafcd3f8761a9bda7c9663333d3a49c4d904a6c4c236c4cbd52c5086ce5782eecc13e528bf295fef38766158b1513c8cf9c8242b0eb891a9e295ae23733d4cab5ed35d87671a0e4eb67a1e5e0c4e1428c2ed5bca54551b35e72e800393e2414556ec21f4a972b1156f208e1e841ad8001a6dfdc03e154b4ceea0ce7352e6423e654b361b44c39e1d98431fd19a2e39f8ee609299263672312bd4aff7214f5483d985b420d3e52e6cfe6f24e5ac01790ef16c095e5ba4bc3eb7c8acdb15d5da2458c70c6013bc309d34a56caef9d6bb03ddb347c18d10d50f5393927535c452beb5786f65c102d35255545e214d51b8a1e34d714d94c7198d613d100ddcd838131676f09f7842437e63992f95c1caa36ee4ec5443ff9391500a3e10341ef9c898aba555a18e065a14fcc5fe38f5acd03a50379c3448e9c36cafed954eac3292eb280414a320a5722884cf4c764c6260d66b758906dd45efd6c4b9f517ce36e541833c082d4a7b42a4344f5283feb738d8d01bf6ece20234f3e02cf22329c0cb176ed67182333f3eb6fb774e0a4025ffe04c078f179d835fcb430caaa90b3223c535af38e5db1abe9ebc5a5de9dc1a2d12acc67b545de66b44cd70e8cf6220d2fc509c6e2cae4536f0277897a03951e8ed823865b7228aa55bfe1ebc983f25d42a4c4b3e2692c6333f33a3deb57230fad10e9ff8c8377df09234ab9e4463ebff26101efa6ba0c0a44a6dfaa838efeaa49719fd02a90343ae6401523c3589b5f8afb1fac450873410aca2a61d53dfd3a6a97ef33482e59ff5a66be9855dc5e03cc387138b6f9f96b7d3e5ad45a56b73ce799fc3ce7f5d9461592bd8e75c62553296905a270a8e2e8b27a107f21c91676d90de16f2e3d3523cccf87523817099e8693ebab516c12a49bac24c3dc68d05ada1486075daef02624efba2df88462d33d5083846755f44c6120e2c79c78a944482bf4748365051245b36e5c2d91790ffa34bba4dc2efe6e64b9acf563d9524b4227ab9d2cb4b199e75a2722ffe2998843aaa682b8b53fdee69bb97795afa4df0f85d4384a007f75e0b18a263f9a2413a1abc1fdc7eba3454559e5fe893142dfc8fdbf37d23f80450325dabd8e42ec2ea456866dfe0dc19d48d746efddbbd4a1990f440f8c95fb94a429d3240befcb8d8df5809ae850af81d8e20df72370038577205e99a47f424dbae5508ad4e00cf0999fbeec49cca2839900fd677e7ab1be276a6a6a03e84d273569824aae0811f3ef37ee0f09b72f75c8999e90a3d6b76f22a8f8108280877b709953abc2005297895f98b2782805fdad1e691feae44dafe7b1ab1de0b33180e8e88f3a6eca980ce7ab4e8764bc0c4e76b7c9d66001362b5ec9a008838ea87dd01612a2f4d8e26950e6a62d0d1e3914701e4a67d67f7eddb93640d8552f890a271a2c56c0f78abab5e8c8c2575adec389048534aeb9ce411ffcc996031b2462a7a3798dc78f29b2c3f8746130ab34ebb65bc666d6655899318da6376ad51786d79e31c3cf5ab727337a14c2eddbec439becdbaa821374cd9ffbb35667c74ab5c1e7f64adfa2eb0d126e6237fe393dafe22e7042c400caefbcf354fb6462ee093c01be57b9a9ac8600a90516a06234734ffc147027c605a4f0bcfd06b88cc1d0ea789f5d20112841595e8ff166db789ee256f851034486fbbda76c09aa1fd72111b720989291794c814e6c67ab705bec172ee1f70002ef17b33067e850b024a6a17cfdf639823eaab7cc4cc9afd0ea4708d3e6844b9c54ad0545350dcd5c103ade3da33f2f498eb3ea134d127500244b3b9a4d01f96c066a7bc97ba0a78b1e2e23f13da0b1756e8ab2e7678a79a13b418d0896013efbad94b2d618903f165b671401b70b279d1ede27e7d1ab18a026f0d19120792e868c440963966bde63062d691ee86ca5a801fe45923bd55a4520d804704916b3e7acb77f48589475822e6143b3a66c2290b3699af640cfd791267719d14e98321bca81de5c870ec3dc246a8ef176c586e3f08cb9a7cf0b8a3f2378a1abdffffd704d72ad75dfadaced6b6d225ff6d26c6b1c54ac006a208033384a511a114a36ab160ebefc146c440487c4f89ce2203f41d623f8c24b269d8210ce0e533dcb9ca551f11d4bd9afa65ea7698ac821b5973219deb8e6df0e4e616912c62ea1ad88a81021436539220d2c81c1524c0cb95d0e92776a80721bda7fe8cb4659f07404026c1b75d0be2e1e562d117d6d541d1b254858174be71334b428cc6ae9a67b903fb06a2e0320dc0e195542ae35850748aa74e7858fe6b475198c41b9be17168435d5443b1b60c30edf6413db4800444abbd568d94eaee1cfac47ef4060b69423ac314731e619a3c78e12bfadefc13a8489610c3442a685860f5a27f0107b7899a5e3249d74128978e9263629150566e9a14447e4bd6bdf06289fb2bfa184c7b53ab7d682e17e5db7751ccca5b58b32d6b88114cd8503f6dc9bef648443cd13d7f17a245d2a4e2ff5b50af38a560383f56afd0f9a5966b1a68222b5e1205a294bc1cd01f5d80207ec6a9684c4d7a145103f714877a669c3a239f26f88cf8940d2f98619c7e76f9869f959e4bb50b1e00746cf93ac036485f9b735924da769e5d020d90f77fd4fed40e4ebb452b438d6c502843b4df36f90cb21903547fa571c485209265248c849f2390834ed8cfed447f5c7a027926cd0cd2b78add8f94a3188d70b0477c9bb176add13cb95d2b5666183a1391cf3c47daf6eac3f528cb3da003c15c19a58906122039956a990cfb8017e7ca5b44a61e47d2545813221c8203d433667bafed93a79f0deaeb19e71a3d98c0621e9397e829c3a3da6976d4f89cb38f6bc038a9bf1e94412e21a861e58729f8ba63d5942b876f3045f83a8240fb3422a93723343a393f8c912dfdda15eb32f7959ee9bf5114dcbae28d27473759ad9d10ce36deee49f5a0f8503f07f03233d7149195fdefd58da6b47b72638260277b9a4c87db8b3bd1cd4ce3ab731ecb30bde1c23c397f3f3a51e4b6f0575abac870b4c1bbf638e18b2fc4fab7b47fd1f31ac4c683b82a3fd5453181d7ba41effb3b910047f01dd67546a870e14f425f4bfcebbe732df83fcc27607dc1a6fc9f3d129fd8e9bf24e95e99cda0d2233a18d2c8884c99aa9f6c1c36cc10d719d09828182557a5f0d55535a18c9a8ee6b7547c16c8915cea69edd12e458cfa45c5d4ad519fc128bdc9615f76d1bd7f3ecac09dc57471943e340112003bd73d4073420c8e7a584395473bee4673d0892f2f5de4b5d2c1fab3ce95d8671eeb5234bf756b5cb89d22b308b22e39b90e51fde3a1c8bc16dda3ec1aac6a16ade46db1fe64ad92b924471db7ad293c92f260ea8a686f62bbc2d4b2c7dcab18e122d2632ccbe1c410d33d36f5d36f8293400907943cd7a457ccfddabd6e0d923315b51e5ac212884e154936070ecdce8fc7d5b36da95b99f3cc93749eb6770710e58ca27266f08726fbeaf50c9f172c401dadfb3e660d784741bd26dd102bab70cf1e8f760d7f7063d77279886b34e8562e0e33258b913c75d6a5c3509cc2e518b0dbf41b702495ac0138950e710602afbd3e00f0fa2d6434034438e0bb3627b5b9f5b12635b9b24a377ad1415b8e06f3ef40928ea155c2130805e4f33a72890a786b8f96bedda9f07fa706b193acd9fba663117f4a735b52619ec09cf52eaa3d02362c6ed67291f35f39fbb30a990a0e3c84b3484130f06240e82040a8405ccb01348793a69a05b0d32fb1da04cc18ace16d9d59e247e0e70897b32363a703b79ba8e22f34d5221449c4b5ef0159d829c1c18f5af268db7b97979919bd0b5cd4eaf7899254f571c34d370b93153b3da8297dbcd5bb4abb7e7b320ab8f7f421cbc509e74b4970753792866ab41970d241b7920d722d5e87237f9b9233f3a11f132b752784146ad2aa4f9f3bcf7b7b464160015417f567b236a52c27050897382245bc7507cc1e375f67eff0241f098bf8d9d25c6628ba38b61447a2fe395fe22d9259a3c9cc5d4f9cb5beb2697e1a23c908d50679042292ef504cc61bc8a92ad91a23dc5e95c77720afb0476ef3a23ed7f3c232067f78107e0ae5cd9065609c294db1f84b16e4fc78385715f5c677d6b7a63fdecc23b1bc14105845014f62aacf7f619ff26d26e2b29d196922baf39640d5641d4da43668a5761ed08313192533feaca71a78ba75a908193196f178b9037dcf8a7c9c978ef0db76ca425d101079da47f1f7f720ac7742cc12407b06295208f5f460700922d630eeaaee6d7e37906cf37dcd78de3f8a97701539b5becda22f850c5095f4f253bd72afa77dd798fb542435c803e5670cad813226e359fc040921dee652e9302f3cd2eb5a3e734968857c3db9d8973cfa1586c14828fad90c9b54797b1f9340fd3464904a4b57f775fdbd83806ce187979d6659ef295445e4fc95c094cc44088b811b0fec7df35178da3ad18ae8ab0e7bda0f5148ec1a06893e720954a2386350d5a571172d6088f4df09ca9571d1f61ffebc4fd8878a5514530b0682dd13e47a5dbb05d9044b2baf7678ab77c321016cbee203414b983b31e257aef56ba82e00ac54a630a09bc98f3d7f129322943b2e00e161c0b3a3127969ae2bcb545937d9db0f41ebea9969709edcb23908f551d17240defaee4bceb8531dbbab0baef299fcadf599870b3f6de852f4c6333d233ee93213405ac93dcdc6e38b30fa0198548c314625dce6fabc75953a741e130dfe82982f1c096c94511cb091d94af61f2889922a22f5f40f1450f4cb3cd963a046b3c574afc4cbc69ea8f8eb4330f4e24a247bccb860c1db83bc636d3ceaefd59c6e11c9d8a093a59c9d669ccee23c4b3f3dd705d77ed0c874fadf3c92c481648425a994369f4905490dbd9079d87396db606f17e96daedba47d37b3de7ccda6e341872f5ed2783b8bed388b2fc85eac4106b39606d9a4a259657d609fba999c533b1185c12323f68fb7f2453ca377c829163aa64e8539d68215739431c9b2400a4e201af4e601125383e85fc9d719ee1a4487c4fce8e36de02c720cc890931906a1a9721cc6285628d32d3a6c83b90f768716796cb5e05c4dc101a0132bf03348e9c39e242639bc32efed941cbec5e2bd62171028b2c8cec63d46a10c2165e87f026f7249ad4a0ce6aa493f3c7d3a2792026c2fba44cf98e81ffa9f1fcf698c75b4aa8d762b87d4312cf5bb359058c9a037133a1f335c408ecaa3e65ec61b5f67783b4ddd635d39b34e767bfeca0cd1777561ca436d5ba398f11d1c1b0c44fd0b41c8bc5290ada1ce416c2dde7a7bbb18b5d4b85153047c3039ed92ac9106608376a3b464e1a056db3a895a2ec8f847387fe6277747f633d467c5bf1902b196f95f313e6d27e3d1b7e7a2abf4eef434188f6306b10bbfff67ea5aab29670c570687dc868e4e7324ef78563985622023a0ea5c0fdc97c4e1f0e0891032e2fd48570b413e3bdef144a67c19e1a410b781b8242f676dbb20e312f6ce79de93d334ece81e748c374230f42728339c6e1baa3a7e3f88910c17dfde83a66384a37369b29a7c860d18ad7356f67b2292019a589b9d5c989a83bcee4682723f071e1351d507b730336aca78373722f078c556a94e5f59cffa069df09e10f39bb959c7cf7dfe7bebe573a4ed820e40bf469170c65f120896a6fe9973709c72d5618d55823b5eb765e1104611d31898b2ab0f176cc297f0f3aa939abc5501cb1f8b5cdc83f7caae32af5df72d0714cfe16e5d621ccd5bfade4b931b6c5b540af51b0a442c0c0e1b3d13066882e54b4fb83329f68282fc3317a67697d8aeba982f42d444c7d32f4a574e700901b1bc7058e4eaa9df3822aa8cef9748f3750e56ec930a2aaf266d948c9d68757ccb793b77002e990d8b5af7f5609c70f578b0b4e33bf20ddb3b2219a3bd35668b78c69fd8105128f8e6627f423b923748c9e11f128b6e92d3bd3817abeef5a98e4921515f8e7641ed1dce24c4e8b70c957e238ad27fb25c5199b5bb6b42ea11489fc11254b7229f04133c414174729a5b0c77b2e8f2fde0c9777005dcdcf2243d7cc3791fb763683c923c91d6cb1289d240639399540c8612642f46afaffc9315ac3d02fe32540affa693fbb2ecdeb0fadb0b0beb3586c82be441e5a4b284d07b86652e9b59ac68fa1c86afcb089648ecee96cabd95e6ac706407974c7b381a880103bf7b94b336b31a9cd028eb7212f1163b235b48b6721ad4a9c320c9080fa571548508b13ec75cfa4776ede453659eeb72b1c3c61cbc1b06b10e19c698ca01d053939ec7c43099db2bfc958184fa5f35728a5d4ec107c49686baaabf862bd756a63a1010556dbeb421a77c65aafb0627916534da06dcf615ff4ba693bb996b1494876d7a74cf06b3437212f9383776eb5bfcd41492730cc14fa5daafd1de1c891302253274c1e15f85666b73230fcb14dc8c90517d0cfa8f246d839a576e010cd6702390b480b1287ac850de82d929bfdb52b232ca8ec82c2ea7f01c541b7feb8ffc64cfb2c161096d8acced27c0ad31ef91ac2a85316ec0ce1ad822cc538add8b4ec1114503ab1c6441f4edad00b60f0805dc8e5941d7182917c02c077262b861513bdb9570ee5446952cd2317eb404d0d87b6944d2c893cf1ec1411906bacf6e9d72ab34cc68ec88e3102a590b35c543398505186fcce42505aa7eddd6e2ca57a5d0d76ae8c9f8500a39b0a75acc6350010e5f24e5edbae3351083b5945e33f0a22703c17dc378002187c575d7c6cd1db6d992376d924c9ea7063702b43685d0de5cdc6028316aacbd677a7b975bd46f78138aca2deeffd152209fddab268f4bc917a4722eb9fc30cc320b5966356d6c0c8d9af0a6dce4b04704b4f77f2224a7eb6ac74ad63e2c54ba63f2361df1f06e18a88b17c565df39df4a4c4716b856e6b3e3bd87fb70501602af9b43af891a70b9bcf9de0f5041d42533be550f4eb8c4ff461f670926c7224be7d070b228b9486f79a3495d65b86f955515499821c45f0c2b5b44720bd9bc64f127854ceb8f49a00464315792f94c45fce87d4170ba62faafc8e9c0115f20b70960168fa668d7edc113a40abbe66354c9e23ecadcf9990cbd5249786bbe2fa830ccd04c6d8294fe8cf24805a2f5e7cc7a7748a1c054802358af93b7deefff7c1f174c1f9e8e211c77569574849aedd26712b96fe00a36f4f6a92673649ea49d31ad4e14069cedff2423a19f0383dd7bf6cf81f210bd1d7e7eae9362b9a999194ebcd107d9409ae066cca811b6c6df6b0b0094fa8b43298d0d1857701b6421c24a05d672afe63458fb821911b1fc3ab3ffeba82e3813fc14c89b06ea823e25f0871780ce807d0fd137e519d8f1fc3bb1036742004d150b3ff4954b9e2502808f2efa8afc432eb535c55398c9ba14eca142186380a0ea27dd61c0fcb013c2c6e38d1319312bc42c7ebff63b1721dcfce0680e953806385e21cd1a134788432e0586605a23adc618ca100d8202ad351ff85f05a1aaff92f09598379ba28f0fa6bbc9d4e29ed39f2040848b17bbf660fe09301cbb4c888481a711b373e137c7266fc7760c460b86d0df1b279db5ca124877081db5bd41f9276479af2c002f6e8ec3bc3c247026b4976e1a5d36eac5c4ad64a5d2ffe7020d9053a6befbf3cf33904f6f59da530f11ce695605ff96ce82c8cac35699e67776560e7b2c5e6573ace1149bbb7ff9e0094d6f69958d053948b5f1f7cef9cfe37d662b4d28a2ab3f1f1a3c4af34f61c3425adf342fdacfdde6f99a5363f406243e09ccf066db9a540da4f8c58ddfe3f6b95713183ec1ea775a65a473fbae4557ba1f14d012ac140e518f47a8cfdd596d37197dc82c044beb5bd45d652bda947a0626a1ed8bdfac5cef722dfe919843940dfa57c5a68e154f6a2024ab432de02181f19b6e2cbfaef1ba6e5d38f0d459ed67f8aabc602a92a8da09dd420f15161f7d153ecae8806c3f84fb27c2c46c9a33517e0807f3a3674d1a50c230e061f52e10c9d5468e5aebac7a8eff4a1ebb46d0e019d0c62142aa854257c070c735c424155b9873a00660d93336ac666f2fad8bb456205d5cb80b2c7bba9a133c10c38a10777df84f9b0573d0d44399926bfe6a7298d3baf39fa67c2c7dbbf02efa5c571d086a4cf4f22889d5382a6c8cfb8b157e2dd334f46b6ba37d53e1778b11db390c02893c8bf1b796623ca9b67c2a8bcca1cf241fa61a3c2a9902afd0c63bc318fd004d2ccfa84047e2a7cc866a07976fe91b71d044919d1b86574f794338ed30473345e5b3527baa04ddeef75dc9eb66bf83e856f382c1ecc1ce17984acb94b9ab07c25de3f1a6b9771d6e672b35062c00bcce41fd8d54c2cbbfc859db102d16f8713fd02d1fd6c45afb29aa0b876d40a105f4988f0928931447de0b72c02c78ae6a75bbddd277973854defefcb9d61782ff8f3e7f67441b34d2bc6aec9fa687e7dd9948cc534376716b51b08182e722fe2cb414410d7099c8b46cae1ac189fa052b64404cf0e262ce841eff8a2b041c9ff696b4dd850c26fa5ca448883c748f8fbd6ea711dd0c5a1296af64fec1a505a656c72c624dda09d7c404025fb08219e6c90639bdaa5fcc4b0b62bc7e49935808674a66b8fb435eec95997d450590bad09245865fee4cd7e2d9f62dc110cbd47b264a93287a46e26e5602acac217c21ecbb8294bbaa65e439c50f2508ff8f08900d7982e27aba2168e4e27c0f1f9fe1765cc58f550cf7d2f635c756e144482534d4dad6a2afd16d15573717a5fb43b0b5d3067116b92c4b1e3ffa533ae1de352bb9b3735769cd4512446d8bd63df0cd522404b44bbc0f060bde136952e3a2ea12ed6ea810b2979425ef486d22bed9410a6a57f84d5e67dabfa56dd1bd4f01043ed62051892dfcdf35a46ce7bfb36bf9f4ac5289b88f0bb58dd13a6c2df07e2a76190eec79e04479cfb051e23ac04e9f471c94a05d51f7bd0487f355fe2398862ae95a19d4d3281e9eaea427718101841aafc6a0e2da1387cb6c67498d67d66c3803fab95de48d9644383799cad727b5129a850a87b3c914e6a0b9b72c7b79d395509b4331ffecd55b2150851aa6f3c89233b7c916d8c38cd273404e4d91abce6c2f2b29c9b34c692a5714da6857f3921d7574861236728a942f63d26f5550f03421cf8f23a078f2f02c30c74c091a37a37b99bcdffd3b65b2ceb3b16b8e0b8f0f6a3fc571ba92846a1ac33f7b8890d9457ebd778047080d4e74311e0ab4e2cd321235e1b263d2a034baeeaab475b3aed55bbd8fe9a5820c029c84b3e8836b01b31fe15cc716c1ca9a92f3eef2913d455ae781c82ca65321ae0edabc9c6483baf9a6a6e283996d44d0d5b0a47f1830b0ef43595531ca6144f0291e8f9b2c23485d906d4c7044c570e5d8494cf9d29ff9a6137b4090f624b43725baa3218c8d39b0f004c8fda95d2f02f62ba979bed11ea86b005c69a3b10ea361b945215cb9f60a0dba04f9de7471095f2f5625ca795aea299e27b63260bad25bc01c0b025093f983de2d14e4ead12d75cf7c2f6774c44a8063d22459ea9cc802c9e38015a44d0877f10344a44b8e2b8c382b26fa4bccc6ef009e58b58378d2ef6429bce259964fd4faeb34de30222852eb8106c75c407261353cb72c94da9e069e05d8c827c18e9dd9493d848922cb90f94954b9859f1d333aad62f551579b8afc14ca51f21931677f0e458afbdcd66859ce3e9d0eca99fb07f46b02d665771b382d0ed171761963c14feb45f9b36c9f32409610a21442517a4d10e18bde1c03b61af064d486927df135665da05ad1952f185a42b888e6f6e816e1fc021423cb1dbabd7651ae5527d48f04f799b39c4d3f7bd06732e70810cbd6b6e6660f8666eab222127c82bc9a6d4c61aa40c95111aa169ba70456b31eb9019e2c315cea967771bd916809e9996a504ffe65b24d6c42ebe2483b42cb347d6b79109e1893f605c920cae48e3143dc13e06c30f01d5cafb3a76f2142ec7fa9f8efcdd77fb22845e1166957846f4b7a9cbee1538404d0bfbfa8ecbf7936ff3db414c6764f84233a19ff274299dc6473b8d64797e7c81c9111e8a0da6f44246119795e57577bec0a201f6cef53bd7a9b3de51806c97db8a76f41741566beb22d223c4e37d0a64708bda4f558a24116b1138468c39db2debffd02980bdaa8701a2967b18ba4a286217ff2a05b74da5839f4cec6d43bc8cc2f03c6c90619dc6b99439973f768b311523abe263aeb04c02d994652ec04b74442051df219e7e2b562f405d18eec1cb7f57151ac4cb4836e5e14b0a96169e3bcd60bfbee75f92304d41e345760574cfe77e745da1b028cbeed07d45614577932eb159a1e57b7948f8fe8baded511b8c952c1ac582c52f85d4b531bbe1a9d89845ee91f9211c5d23ef2994e7f25db9aa800d821496409fb8ac66bb38ee4815a6fb661e802823c066086be17729f4695708db23022752559856ae4658f0d1dd139bc35ab88e6316ae324f75d4fecc98db3c0de02760a215d91f87ebf0ab7a8209a3ab5c53dff2bf4a1463da7d25f9f81f734357186989753ae67ffb524fba38d6aed2ed7255e1d9ebc1f6b68650434d6ba447db523c86613b7f0e5d1c8564145f5f5d9fb1f76416bef180c615ed622ca264240bce743d1291e9ba3935bfe2fce84ca2cb34d2877bf47162a30d1bd84e75fe0928fb7a58e7a4fc29d421608b4978c55f1b48f73b5df30043377bb6c452bc7e0c9282a363678d2c1aa66958c7ad6c2a19dd141619434bee1f8f5de18f9c3573299d45cf6e891abac90c2248c420a0da093cacc3a3330cffafd80aa7a7c43034eef817648a432eb859c9069e662687ff41339cf4a41b5619d21a70b0a417270503a9399ec6e500f4ccbd78f6da0413d8a8dbe1aaed627c99e81c6732f9cf6b91d057736dd9b6713dd327f3201883d38bde671d0332da1c3f626c8c136106579e9d0e2671ce88672ac02eb6f198c370c41dc1c854277a6471701fb5ef9a5da8d81d1953bbdc870765cdb4311999355cf191187818a907f878a3c5ca6e40224a2b7a8c879fda8183873df739f130f919117affe4f5437a0c103b7ff75ee3f94771f57a9e6cb36f2b7efe27b839238f664411042153ffd7ec75a54a08fafd418f78689e8a9f7e510ec1208097faaf2d6c76ff60b16bb7ec422484f2c0c62d1731aa35403a4bcc76bb003fdb5459d652183e8d4cb283ef5781956dc0c91aa241f8170cd4c06c03127516c10add3befad88e9f18157e79d2de2218cbafcec2ed8fe1c1261f55188cacb5ad41036fd96cab5f583764e097bb12198ed60e7997ba2ce208290c86a7bbc36cf53309571ca5bd13c83074d1328630b2485cdebf99ec076748ad7131f8f8b71b3ef10d9abed1adff4e2417466233188f93af18eba9dd7774092f7e722e8dac5222f23d294faf513929bba6bdd47ea965c2ae509aa99885f141e72839d572e3581917885210f56bca4bc3e028f33c8bb611da004b6e8b7eef21fa5bb42224bd5b964a32de59822dec310234eb2cde34b6b84d8cb6e41ec8961662511c5d1c3b28cd391bfdc0713792e01984d05fd57bc65439fd4013c64f423f8cc4b6a655390759f97d569453b7125df1d0b8e1a4acd8ceaa72217e776d005153d6285f05d330926c27c2a5f45ed85d28e9019624748f2dc3f5e00e9159de77d738b6f5a8352d56e64610a125256ace705d6d8ac936b48a7179b1d945269180b283adb923cd74cf0ed07c668f3147a305f72019d30838f6ebb16395391a5b22a721dc13839a2e83b77997f7577a5da70261c2a80880e70d4ebd80b9f795f7aee0e20e033ea9230249c0e0295807aa750cd9c833c7ca69831e4e65ca335221e2919d58ee2620cdcd73bb2cb6f25b5d0fb271497a98b2e236fb5586ace35428d0abfcbe626e3e4ba08fc522923cb9698c1c8f1dc53bf12dcaf119e191f5d853f61a26c3b564f95f515fa5ddc00ea51e6529797965a9c74dd4f745c383acf611e5d1a6105130e33a98fae280ec9989111efce7c59c01670dd2378cdcde006aebe359013ee514e85a2a246da97a30bd905dfc533715c4bd01cbe17326b141989a1ef95183bc966f12455a72449d80888d9f5bd75f3871cd1082eb1165045faf7ce7e5b4783aa7a43747fa08f4686e5dcc94c188a29f76899af11a4d6ba0e856dbd15b8bd66daed1aefbbdc7fd516a9a5d34f603ae376c7142dfc8255fe1206d3bba53fd99d17e654a66a93b55bbbfee57b7fe20805bdfdba6708c962e28c11e06deffe90fff45b05a8ec94916cb89bbd78ea6773dc2d68124b09919ff1e86c3ce2e5f2242daf2934001855016ec81b7019681c6d3ebb3c19cc1267f0c1b12ad4f813849bff43c59d1a8e1b94ff6ed073e18fe46bae822a83c5649b9775b603c56c0aa8a3ac4ff3978005d31a719def2ba88251774fff0e757a111a600e8ccb07a7732fb511eb02e54e54c273ea511f4ad80e575b04ec4f68095a3b9d2fba9a6305ca76e45cc2060c7cc0df1cac88e260df189643b8ee42ba0b399e5b0f3705703e809c3608040dfaf42132584d02137d99e4f39fd2037a41f1ba642b72ffcc6d384b7584d3cdd0b2214b4e9e28863beef6f5c9f250446239b5471a9a2a204a32be59c5bf0692fdc68fbfa6587b8ff16828aa779e03805ba6429244d30e82df3aea6a4073f626ca7e8178475db8384acb0e1850528a958e829e20e3c7fd226b62d68a8a5c09cf8e6b7f9b264060f725252ba3b11d6226d61862087819e2e5b198a9186d733b3c6c9d07fca606fcf2b5b6b4313332b836ed33440d2b2ffed31396e9f0a9bcd7181d55e3e6b63a4117eccd78a48edcbbcff63e2f6b1ea07aca992434c8a6ec808373b16211059bc62020912da1992c4959528b6330bc783069088201384cf41864e3016a0ace4971160fb6e5d617de19afdba68ece32532d7ebe53978cbaf5a24957037036b2677f9a891f5fa596bd3c52c7ef301c04f9bd94d909e343d287282ef01ef67dcc74efece0f6f889a02627b19ba1a63f89db217e4690750f2c5a4f248120c9b4f617a53498fba92041aa8e1c27cc7c17a27a2fff02c77c96f361410b941ce0f8ef8a742cc53bfefb62169322f58bfe16245998a824485dba462e5743edaf9b3caf34b67f9812765c26d3963bd352891b0c762143a98f9122ad37f09d6e44f3542448a6f48141b1a1c2e17da4b8d83ceb7906d878e7f996c0cfe6c43033359e94153b3d4383583038d4d58ae1c464b6c5d19ec2ca14282921aeee784f0c8ace5c79c5991dc3218e2e03c9fffe7237a7f956b88826baf5865e691a626deacb8d65dcc80776f70558fca7224b4e8f82065d1fa58938abb9651175b6b4067adb10311e2dac18b5a02cca2d19d8204b421a5c0909e719d9a164e4383a57129cd107e4ec745b0b4c185334a259476c1134a16119ce1f152c9155d7233f2819b62d2e786ed396371c3b810211c1fb534beaf1f07c2b8f3c9787749524a9a84df185122023edf084be262a797eb2dcaec529397daba997ede2bb61f6d3118ff17038965f30da1dc3f996df1b99552c850d200064f729259e91a049bed9d3831ff8457a555f0eb7b268c19b4e872a8f605dff33dd431bf2e36b36cff8b3472704f6a8cb5fda6aafd2075d642767a17fc89085b6b5eeb880eaf3c4a296bb587f54a8b1e0e288dcb4d71d04aa7b9b39b720cc9051c2ddfca2802e6e94b07a3f1cae67969a0bad7c221eda163a8f032bff865814113bdde5656a2cef95038ecc06b5183b90fbf64c334efe428cd9ce52d131f0c9fd8fb8172df3428eee91fa3d9e29ba46fac9267564ad122e6205b90c897710f4500b7ef28a27e41b35b084330e94ba7eca13e9818712c18e39d0c717c516876a4b6550b69d290f0dff256d4390a7797162e58e2d59a7bfee0c7f3336a4436a316d61bb2e96a2238ae271bc9ac8b3e03452da86a05d005dfa1d379554cb9bb4bbc9473cf6d7cbef31071cda774969b57a9ed2a2370a4f8b242780bc65af3eefb31e75f528a17d25fbaef4ef99fef5d2a369c51231e42a9c450617f228078496bbfef2935019ea2f9774d63046286b3101b0b3515e34b85e90e1eb95d06362c83f1f7edaf1f8385fdb276f1802ba8c75df31f43a1b811aa7be9abe6ac0e96701028a2e119db2d2ec63f684cbe9c155ec97681123af3539763b0a012a04b6b228ab8cb0fbd70ddb3daf8ce6f7935165197c65b271fbf17396c521b52a080861735ab804c0e30b03310d3ba74d294b23695b861a724ca279d26c04946cc6b6342e074edf155917aedac105e2802131ecb9589df5b53d4178e98cf39d36365675a7c5644c0d60b0e94eaf085825bff1b918942bc6aca53043b4e8d560ffd99e979b3fdaf776df0f1e59bba0992e38ad65379c78fb27febf512c30a9c1fe996d9812f604bd88a4ba1c8d896a3449f93518110b9e66a1b0b6ac40e7036eec6bfa879965f83f3ab7099fde22a25e348295ed1f4e01d80928fe0b4d1b5a7facc3248bf93ef53348d444d5bce1b8247bde927a805e30560ac382bacb86a53781c6b9a0259af1304d4abcbd2480234f3f544dd8d7530f1d128af859517127a49dc7d820e7ff7967825255e57a1a14019cb80dcbe083fe4c6eed892cb3f7c027ba1f6912248d2aef963032da69ea5aaaf931ebce34b63347ef4f88b34b1a186f789652febe8e24112046989ef47682de75a9350fa8e3952592bf61bf550ab433a55f2b8e43fc43aa76302431d38f556bdc3c8c7b24037658c7efc2db2bb1a4b60e272b2b48f339ed6d77a4030d17492c49c0180a6b829852f9b318c5b92d1cf1b5e19ccf04f17a409fed477ecf131cda2163872fb015e204ed2624d23ccfbd56d061c7545a9144d7a293ecde35d1703b365e90ad8a834e8f37266d8ef80addda41a059e95517dfa8f8cd8fa91db214d854b13aba7880c457f58dcb7d8862f81ee65131fbbdce559511e383c8172b26ce9c9f5d4a0ac8b7cde2ab34be185b8686f2d59c3b6afa68786e3a7ccd2d95187e4eeeeb7942a561c64d9d632a400da342b2e761e34be553a61a75376164779f82845f1be67deff5f8be86826fc6f31e6dc2f3d25d8bb8a02bd97ce1585cc7f0ae6c53ca83541175fd2d9834c17aa38ba2ebd94ebac7bbbff0598246187440833207f5f702b32a74b27af19ff8b4f59f41cd21a614b6e108462367af4961a2367946a621335bf395321d93b08041cccfb7e230ab31cd5807f05fb4ef7805918e22f121c3c81dd52824ed08cf7e4b494861b4d1bdda9b675edbefdee8ff0217aadde96b14d188ca5431e84e0ce1ad192774b1bfed1dcc8ba745396b26359a9641a71255c750a9e533061c175c79c7307bdcc2734d24a99e0304850f74d016c94c84626aacc176217631a8e51eccc9ba12406b3603408e2f08a563b88691b1b7ece2fe8086afb8fd6078d37314b44db053630726412be220c8289f6ca639d5c870d869d06b20736903336f36f3e9ec6f584fa99b58b1bbe0016551dfc635449513845428c83b49b6a4afc26829a4e4667ce2c6cff0d021489d53f8d5db1d4c62b4b13926d950e7195d8da85bb0edc1ae6fe5253b1d3d18d20142c5d985d4ef6648ee7f510b1fde49ffa56aefa1402d6ab4933683abbb71a51892dc2f3c6a0cfa40e66fe113b954788b45479a6035fdbc31d4ed19d5a7652a23e0796f9fa3fa15625b1af36066ab2f4a2b1af6795e57ba0ea12e933bc372dd092b5dc4ae9e418744b2487a8bc232e2a70c88e427a54234a297dedc54175a0de857f368722cc26adb3d89c83b2d4f3889fd5c16f365a0197cba489abe95b08f6bdd1d5fbdf1db314532dc2a07d4d875c060a110352c32998c90cf852c54ee31ad5fca5f5c4ef606b64b72d272211c6fdac36b5654cf2ff8f94e2f505bae340c9f8e3d5e1cfd7b5534adc90d623e5ad342f38df14ce1215328199a330664798b5c49b6df4656148dd00c5411a8e73f49bc65f8e7d483d4893d1f06d8e5370fb524cbec1c05a74cd6952a207848ed19e0f13f44bad13143455cdfefe15b043f6109c2bb8504eb449c519d5f46df6b9538a2f01cdb70b5e8e332d7c61df8787405c6bc73c4f066eca22ed717f8d5c2e5e59cc28f934b766ce0acf6b71dc0cd2d6e715f876d896be58bd82ca1fcae3f513842d9bdba8547b6774cbe6c60b1a70e352539c49d4c19aa571d9c9f9224e48063b551bb848cb7fe5fa02de4ef092f1349a2aeac265d440bd86c705c24a030677726611e039d7d6f936736e431a660705aaa63efe2a91fe656aac29a62c967b66ed97671779e3881e48b9c38762fa4df794be58456d5b1d4f29bebc4905f447afd8f8453f4a43241923eb8df0c15aac57ab02bf849f583dd3ab3160138c35b3acff9c472cb5294e60ae13758aabce4ce254c751feda4b46e214c4db07af3c961cfbbad3fcabf8173cdaf90084692352d20d7078ffbcfd491cd696523d2cde486692150278b7fce24953a1a80735480cbc67b18a5df35cde3f5be47e4e406b4c99b92b5e1272217ee2bf591f17cddc9f7f9cd44382fd8e200faed34a933a5aefc85dc7192ef64789a3e3645dddce5c9a51363c2dc4739a6a3b958aa5608abc8c136c5ef563e134a9487fb016ce550d10a94a1209dcbb5f0a85b5dd360f7c9c6bb4afeec4ddebb044198c771b3dd0bb6b4702f2301698a58d82afa28c7ebe926b4546c758bd6007f3e0ed2d30555f9e3674e78729c4fd726e30d64738baad60eff28bad7ba01a8b768d44dfcc18222f73d23404e03b0c91900888a7415b64829709f1ed4fbf8fb08f2f0603a50c101684c0d62ad2accf2db54c89cccd2b423f81acd9c9379016d679da90acde909c513878c708ec0a95581b34876377988d5582436b883a3ff25d15b935a32ac5cee07cf306da05f42ae48506581cdb82ae13a2deaff274357d7a32089e77c61df2c1bebcc268a634cd90958fd302d75c11236c3c12e3fd85ae9247639a7dc64050de1e0374ad30b30e851013a5f3f11458dfcea1f6a03b07602fe593534f0ea03a72340b84b8f6223d6015c81b3a493976e03082a280a51f7f068e6bf6ac2048c3e1e2ec38ae06ab09fdc695c71a28a4e9015fcdee692d049dbe5905983248ece8cda6c951511ece1d2790f9338bfc9b53042334f971e481634f6402c494c7a4d2e9fa40eb6a5b8918f81bbc7d8158e7638bb3d0f812162b56e5d515f37dac98960dd0276ce6a9ec02f69e6e13f10b24bb836baf93af54b0688250f134fae2d5591e185d7ef5fb75787ccea8445ce9eda162525bef120d36b0ddd416fad5828531f0f0f7a873293d05dc0ae9c529427f86ef2dfc253e2130148e994901be39e4b8ac40c7daf173e2a57325fb96993dd7a5a5096bb2572e8f7c1c74152291d4615c06215906bf1327c242db3e9736912da36c548f90650f63c187f65a2d4abf183995cb74a4892a772a9099c45b6997b1d612a7ab2a4e0f433f12c0d672c7823829a59a58ffb4198a305a7f73050563c6898dc4bd3b2f16e746ace7d29bec5a71618af53dce4d3a67cef75f0b702dc46de1e04acc1d64f2f29db5fd84aca094d8d5075822283eddc5bdba0e990b5020c5a30c12706d166d1fdcd66d439d030adaceb85476317b943797dcd288aa652801c6a0cf4ac60171fcb7a2aa0c48ee69b324ee67b1683ba940ac84905ecd34e8bc521b49f907ad174c6d412664d6b9422674836594b15ff84d469b3a2436203dc84d6e0c8bdbb8d8806eeac2a0c9d55c2ec373133897ebe8604d12f7ff4aa30f522653ed8b9ddf3721544817376cc8dd065aee8b4022f575f0c059313d205d2d95aeac8cc93c3e511eb35c4ce4d02a87d95b4e7812867e5ca6cca4346c243642dac208f556420de4db320ea77ef0a2b34a9f96ccce210cbe91dac6d043abc27d22c109077cec6e2a65119c420415ed71c49611cb30c3cc07a01cb22c2aaea150e3785faf2a3f58df6857cdafa7a1cbc58c8a17395656686d6ce93a3ca773ec0820f58b74a1d8c67f0b153202998699a32c638bb014915e6fc887b58230fcb03e2c067d894722b15956dc6337e096ba1e3d638b1f16c6f923d56854c5823776e22657dc94dce33831d810592b34d52027b46eaae94742918d7ce62523f9c0ab2ada2e1bde663c940d43bdbf866d8a40fb0810c4646f062190e1d72d6e3fff58bd756882d0f74569552932ce969588967c18cd70d2fcdb593a88d69f92e53340e949ade0960149ce3aa04c88e064e74c641b7bd1e88e686fdf98f44531153e333cb4085f6d7c073a86114d0e266e7545d1b9f6ecdb4e74ff0b1dadd1fc5425500470e26cc34fbe0f0c7796bbcc7cbcff08f4d1620c72c46cf910980f699173beaae38e7fbc79d0305bb68170e33a23279a38601ee769f182e31d78d9430f06ca3d92af221ab71a20b84d5223132d8201d0446ee8de8e12d6544390294329b28bfef0d37f76c3bc5edce1a625f1114995b23cd34b655b7fb73c7e0e7d7066e52f7842ba56f4ae735ea46125b1e575ad845051fb884d13af1e813fc4d14792b8b7fe3d60571e72cb40f96568075bde606b1006a2cdd9c2b9fd9549234c176eb535364bfb71ca42c0f5ae7e0ef7d8af02b845b2d7a83802dd54eae24cec7b056a809e13ff98cc4ba1f8c4ae0d3fb9bc9c6ef2b7f4330936557a7835951516cbd1572f0ea389adfbb10ceb35c4e232b91c555cbb61e0067a149b78b7398e7fd05c41e3830efc5a812b5a9ae0349182b69ded3faa85c5d445d7d18f0eaa61a87e6dbb3a5d26a178ac98f185091c20eed77c36c0e06b6dbcb51db18dc40ecf3a8b4746ca9288145af29832192c3f5659ff83b1ab9ee108610bb22911b438faf0122a53f193aa66c20c6e39c44b63e2fbb00c842c3c2c8f9f3c6eb50b2b0d53324443d3a4b58a746abc48f13bb95466ddfaa820a83dfe4627b526c6f9b29155b82fbf0a197fd04ab1aaeb09b94686145a5450e22f0be74f004ea4423f78112471870875feca47ed387c19dbc1f821f887f28341e100dc9cfebc2f6a3a71ac9c334ce7ba510867f8c3c1ce4721e0a3c5e89276924ef5bdf5335bcc9698b16613cdb98260c2dd6a244a8bd5ff549f4e94f8859764f22d779ad3fe345cd484615c047950690260e431f2a2296878952318cbd51f3e76e1b42ca77e3142f70152147f48b4ba740e70086bb9d679acb3a21d77f05685121b161b6c6bf5da762111d96601743f3e9a5e69498ee3d4887450b2f4371847a1a4df960339d0216de30db737da13674392af5c24d5e2c2ce814715367ecdbf78e47c30efae45a300c2d9b96e37b7f6a58de6210a0d8ffd4aaa71b4b3e7f425b1231d1b54db223f8b5265c85e709b3351548d02a03d6d0516431a133d999df25ff8c26eef39a9bc4a6e1c6caac82a66c394ad294baf3772df78c99777d42953e2fb44340da456afd541a9cb14254e8bb6d6d654f8a620b5865c291b73c0aa69aceb98a426925be0475cd4a658c0d6174c56297177a715de3092b4faeb93777d1469d0f3b8e705c3a3be9e2d020360d1fad126a012fa6a11fd9cb62bce2b12d7e988ae0eb573788f4971c19039580429d8ac357d3632d2beeac42ece43af3277196e69cc27ed327ea54da5bdd40338775b667bc6ebfae22c88e4007a2ae20dba6efc246335bd93f952a90662445619776859cecc25c1a3ab0f16b97311d714b398e7c65142496c2f8a83c8bac6b9eeaf814b44e7b17bdd3ec6affc51fa5d851f0d86b619e88335817e5fd4e5642f8bef5ed276034060bfc14ad406db81c39f001f91c854b6bb99456e193b5020c476ad1e1a6b6fc468aba6b91c8ae038828aaf86ebfc43668d0162a4cd27485979fea8e746086c4815c8d86d8f44a61821ee680956e34feca0c51f1345fd092962417fc1a900bc87dd6dab483e228c2cace187147f1ad55be73ba1842014ddaa03cbb8a682cad6bb9ed235da95b571a16d99a336ca5d6cfda6538c754c93d44bf302d712e81092b6e9f3fd4dd896eb8aaf7bbe49d62af5b68c59a8324b6ec4f537a549f01709a22f4d8d5e01f63dc3d0e957158d72e86ccef95df39cd23b002c04531756b4e9c309483c8ddbed6842afbd5365704e890eb0092720d2ef198cd402a201d332bcc3a2aaf1ca2fe98febf96faa8d073c8ff46b881b99754eaeb63595ec37d8a2533ea47baf5fafa30b1f8dc867a244534d7007ca59addf9415b14e6ff1a6f7a96df37b24c8d99bce98fa108b8e22b811c0bb6873699a56a68274066f0c2b2fa8e16f018917092dba712b5827ed07ddca0c0e552805ca516092db58da178e9b37a7e31c883389d6589f140eb88b1a36f31c99f2a47f3923da23eea44cefa59034fe36d6a0c3f841650340390c703ebcdf5de1bcaaca7bd2dea33ecb648b2c6a9c7febff6b4fa4f8d2fb7205fac9f9179de0bb9ddecb40b7ebc0464a5ca902fbbd5cd2c2ce128147dbcb69455a9791e2eb24d30e56aeac56218a161e691162e0e6d984553b4e7e76cce50891c0abc2c996dddc0d21fbc2861c16ca355d31b80114cfad7f1f2f3819e1be598d0115da339a5d43039866b98dafae4a501e44a7b2a19c0f37095e9b07a0ea922705170f081b6543f853c59f58190a97d280b626f8957e1db93af94c8132e6319333f0c35fde6c43f82ad770c1ea851b61849968b538a1eb98f7302cd8f88511cd67ce49fe4ac86a9b36ee84cc059b45e5d567d57eb0622d7ae4a6dd15dbe3ddfc9812528400a2ce2c5be3e699a05a984b2e2a6883edccd4ebae996917869695a36e9645bb5f4ea2063248d5719bce9dfe75796c690acaf21d5a525fa99ad8541211ffda730f3f5203e471052935b1c7f52f69d589d21982a89a28100c801bd647e2e58d1b985927585df16b59105b359f6753ae5fe178b626bccd6eab32d18d7373e6870440da985d64108598b620d298bf2f3eb2544c65d636ccdcec4819ec4d478e29f93d913a0a98a57684d9bb348a3357920b4770ae7cfce22e014a9adc97e7d4d86ff6dc14cbdf5f853848002c8cd1582eb32064de43b8435f205ba99e8648f840c669b702fdd155e888bd4759ac02942c59926438c1c4466c35211ab5b18c245afc8ad4c4e7324d55731c07b16bea9ebf453aceba1fb180d3596e306dcce1d2ab8df5aa8878460f578310572070368c043ca6b74144fd821f1a6fa78f77366d5e2d41e23e649d500faf6049ddc949c4cae24a25293f858b8ef62674f71e3b9a5da8502489b876aa2183f0837428d73900a60e4db8c943134ed69c27a7b12253eca81611f0d56646c921a485da7e3eb9b295242d5eb0cb23cca1ed5a613a28ab724cc922375bd9b1f0f5e64e753fe460c4506f0b7d5a728de1428e4763c21241ec504df2448f557e7ad9ea8f89a5ead3849e30426e04a3d8c90dfcfe63b06215c0f545d950063281eb5b957107828d3e946aae3ed2c8ede31c83215018fc81a9fbef42d140701ab2aae37ed1822469099f513c879fb45057c37082fe09550f1032be1623685cbf4717e864fc243def4146c64c98c8e9682d6d54dd446f24fe4a437b4ef37c590694302ec900f6a4650b8d596ba1205ad4d292337c1d2ddac39bc4d8aca954485272f9f6490d0a1b3b9ff75d66538d91955e06596e6c99cab1ed5dbda8fb1ebf2d02d2d94add4f222f64ae8ed9e6540ef70648548328e0b1c42d6a9ab58d5a6a513b52fce434eb3db9e821b8e2c2d0c2aed258ea1455a076154952553ca568a61ae88b4169cc8fe9e15f6e1c8bd86cf65f901b6914a1521460c80744dac94d29bb74502ff2b425545f3f798ba6b798998fbbdcf120f5bef8248c923456019a486f05ff344b61ce98f7caca560e2874302546bca3309d819433295c84b8db177c6dfc8d0250bb9a13087d48773bd442653635fae0fd80dffedf29d32cf69a2068b69fb9836d511c0a13091ef1cd11d2cdff92c8716950b3a4db9b3cc7d50afe0f5465a1eec913ca61ae899ac96c6e6026d643b213af8af77b04dd124f7833f4752ad4e76f67be80dd4121bd2990ae2992f62b76df34b5f62eb27f3b722643490d23c129a48029a1403b097e6545dcfee9178f80fa1fb1338f17546567c6f2727cd96cd2a46a61ac9bdeadd61cc642d1a0c351a4623d34e8b1aa0fff9cf66e0fc9132cb875676c66a56823cded33df71e08918aabc08dda6b26ad1db11a6246c89eea0512b87c7f3350d68fb9280c65b66776902686c1b3095059cf6d1c6a1daf9d1254889b50bafdd1253a3937f4a9b83360ed2bf39db07fc2d196b2eed2fd86017711ddf5c59f54f726d42d602f639e588fb8d2d36e85e195b4c41f9ee4b1094edf8aba5f9adca9821601b5fbc2cfe1a0b29a7f5e26091c6a71a388a00f178b5edf9f33b18b5bb46165b300e03a675691cba42940cdf21dc8838c297f1b0db2e193b9be41c7d73eaabc149dff466a2640df73936d308c2d20beee4a4524be6ca8b6a39e3b0538cca9b3798528d0e20b1096eebf728a5f81db00a14040311c8eed70ae70e5a68d37603a676be1f99d6302c8091ab2c989e301fbf9fa2cdbbe932ca5b90d0075730b8c7768baacdea0b969c5c17502d83a1c124df40b9b4cca4fcc09f7baf0b81c4409a55cf424a0f3f048a0f3a883f020e7995a6ed8d389b714fcfa794e61db7837a5b233228aad226373b6ca10482e135bdee6f9b99edc6bd8250a6b66d72df82e45e1649836bfc58346443bbfffdbd7c2e07dc2c153a126d5f497bd66d7c053101cfe906c437767ab4cbdc44571c0970154a0ff45315ba96bc783d9edb3c06ee26c999ae8791baf4a12e3131e2ac72407a0ecee5497d59e9c9c67d714d9fe84ed855025061955a6cf102b3ad7f79fd8f7f4d146b36407aa468927a38a5550f54261bdc1d0694130972c8703a2acb09366e4ddfa4615794b169f33d4b7dfa34b4aad2d04bcf621c9e4e13e054fdeb4c5ce5279b759a8192fd852dd86932f95edaf00d04121c06a378f753a580c64945d6df30043872e3e821671f4854a9cefe7ba99b6b9865e24698464718c35a02ed0f1aba6d256b08b4ce062d8eae763085c800afd2ee25ab6f5ca7f7d0e3d5889b7aaef97e36e633731fc9f59bdcb0626d7f43512d53fd8741c8d8ce7b7a6ef0f678be2d4fc68e19404615a52911299ab952009c172fd56c8604764081c0e1ef96b5b30f34d2f5303225d0f4cba1d61908d17fbb96379144088170d199a286af91b50ce351eceae3db7e1320861be9433217e09126db8072f42b5cf59fc4173f0c81eff41b26e1f5fa16a44a74823ed26c5fe05983b1679361d5cc571ab240a8f604eda9629fdf201bb61d33a1f173fac2b3a1338e3b8000f2ead28627dd194badb9b357ff630c305893b052a86db813d133678c9db1c7a41aa5c61f7784df80ffc979faee1390b223bbb3169a7a33a60313c294b3e8b44c9f1a890734a17c765a8d163b626aec3447d8ee94ad088f11205cb4fa9a117f692602363bea1d09fa2194dafd14a3e2ef393d7a8e81496e17a070556048f8c8cf3b7777e7ccfdfe95ec5e1b5cd552b4edcb3bd0756974584bd5d3f08bd13a7c13f7e5ca13536b4e1a82f2164f95fd365eaf8111fb6cecf7e78395c890ab89b36283ac4ccbbdd4a5e73459d5e61c5f875d449010435b21eb2a59fdab2e9360778cd6999a5792ef9b2fc5802673acd626f58091093fe2fb968aaddebaae6bb0105e94b48d692c6925483dfd0f449d3b8fd2802ce3bc8f72b83d98dea2d63593304fe9fd2f60f993e3018f4989aada03e7bd093c4f8599247a2c2e675d798a652564395456536fe847a4744f07e80ebc8adec9b4ba8c46fd371f59142591f514691b7652291988caf14e5db7798e5058a064dcfcb566987649666a3e7cb4539e277da97f5ca74116cfb2cb3f4b1837929b970730af790163b602b8db99e8c18eaa3c8b15ae47b0d8e6603137a2f6e26d7a0ee879e0f810c1a926d4e5238a0df67757135b4cdaa3109546870a29f2e46db9c0c417a49503459136d95a72801435d24f378f512751c15f04e8808177f837d067c6d178946fc498ed038f28be730465c79315b2d7fa7c45dd2ee83bd6fe47eaeef994376906705b999c758ccbc5139a3b0efe0eb98e29dd3d837d42853ebdea37c2574d48bdbe5235e22c1f774f4c8340b9ef4697104ade40d06f4eb1381de5845334194aff45d7b31c6704462091f6a8e81a49ce0ff1a4860423298001945c6854a6e77064595ad6627843da78f194c85657267c537a164a6fe856a01b28bc0bdbc01fa8c8e71a1bdac8cddf17080f7bc6833b072c1a1938f3baf1a938eefa60a9a313827270ae960c44e50fc88208dd508124f991228674330fafa63a03ad3db9a85f73d647efa377875ec84cee5ca6308090363af7811e81e9e21f52a4c5216144667666ce54077213d4516ca8ae02c35a4fef6f614224d6e25162d135a5e26b86555aaccd3bea3bcb99dea197423f9e98dccbcdf7285f38d7a422bc718d4aebd328239126b2f21eca03abc7b68b335e0973dd81c8d252dcaa347e7ccb6fc8013378dcb36306505589e386a252cae62f9d72944e90dbe0fcbef1b292ea69b32ef6d6950e8d429f5aff52e679fb5191e395e66325e3aba5c0ec1902038227ad72b8adb677e419cc04e191c29b7ce213ac9f1af97863f18d34c0d68de9212cf188a5387cd5345517cb7fadd54c1c854251ea6797eb0ff57fe999b49f9a2fa12751c5b4782353efe663fd01acecca4b1d90f873183e6882017f1719b12c7d6c2a72c5adbba3679ac9f699ba67a28f61e203428714e99805bc07d448f5deeeea1522b8a10ac831f4a8cd15ec785b0e9043f9128d794eb6553f90dacab09eaafede22fdc8a938fb5a92f04e6aa29f8c94cbd19312b9f4c3f482c193711d71723d61842e9d60b26524e2a51c377c4681bf85173b366d389434a69305140c6d82611196fe2e72e36531960f03d178d1fd4a2b2a6f7bfd0e1e02a5cdd00971a0c447fcd8898afe2136a57204affa6de9292cf0f570f867bac70268299f663adbd1445f2297bf577107aeb6b8179269b5d2b9dd415c4b80ab9a3dc49d9b3a57af206cb6f439abb3bd85dcc03418e20b62b18e39cbfea9cd97aaa4d523b764c28a486a368c8d02d0729f34b2c8372a39fd2bb2be76c9556f698e0a8ec85ac1fc38fee4b12b1be44d37a532cc3fe3a1924c5b4c4aeebf61e852d1e5f080558db828809d058aff39f0829ff5edf4add326cec1723bc649d582077e892b994371b6347d940c50faf0aa761c4d24e8b5b758091eba665ddbcd98d3476985574cd317cbba44d5f2e54257eb318589f44e069deb302a4e45d41431b025866e1840d9ab2d1b2390e0a8340d9b218b71e51fc7e319005009081be410dd6d0f0ad8b2d35357959ec94424be337024d47e25f838eb7d81a5a2ab2234a37c92bee70b914cd5bea0ac00bed7a96a17ea3afdf5fdbe029b37dc65c28019f870a9fc72be88636483f39f5be175b984be98692cc513aeabcfdf2c1dbf1d3de30ea8c8db9167c2ba47ac32afed6eb919601fd71c01346b29bee2e923853349aff11b982d1caf2894691744178f6f9d8d0b949f49aad89a2523137a1cf74952ca651280293451180eeb89767a20da9b03ba96320ce63793674e7c46b24476e73c7c53cd697932dfbfb3deb9ac1d82c675d22acbc2592e610befb00ca0e0ec261313396ce1d8136209cb8de74d4e18e5af6c58f5b7ce11dabdcffb7dc8ba8a91e6a5d77a97d2bd10c4579fb63cfd24f539da28a157c44cb2e72cb57e015abeb3cec23177e4fd5956e631a22ddb29b1595c2430a4c2fb99982bae4bd6d2ee66ba21f08082220b7dc6f4cdb5153de23fa0ff4144ed76ab55f8183a66952cdaf470e57c57a2ade7ac13eb2273b7b2652cc5a4454810078590fcbed9588225517bef5bcd207ab4e698de295542bce646a3d81c717f52a1dbe9edd6089ac7325997dc411a3c1a67712c4339e857374f03f8d80be37795fee719fae8cca055f7ed34877101495ebd617be6416a1e14c72c461875a39efb3667a9b68eee49c53c079a022674cdcc5b5e87333f2b046b3fd634320a2ead4fc96f99095461a5abe7ff8a85b568f228d1afe595a03981e9320b46d712d51629a111c48b37cc39ded385292cb750973e51db99c3d6c4c110b26f80a98fabe54e3fe687818cadb3230205ca8b3515f4ad54c267db3677150b1d024faf712dadeece53735984ba31c84514fcfe8fef0155baed507b573678a9a5607bd2707725b4f1036be9a2c812c7692cb46bade33162a1464abbd6803d0243695767e233e99b47b06ebe79aaf04a092b6f265090a1f431a0176ee74f0d43ab1d7b0ffd89d360e0a531b690b22c0b27b1e8424398114e5d55ffbbd34496e459170fc85c854696901e9ace55f0bc6ea0c4811cc417c4b843943bbd2cf9b73c6abdafb76b5bc6b641e90aca12c60c2063d115e71b9be4fcf13184e90ecb26a7dc0031c64ed404ca6d0e44c6302780a7cb164ef494cba559cdb29324764cf8f5e6d7f6bb0520b244bf71184c200b1d83887ddc2f9dd88b9d7c9a0ae94657367ee3eeff732840e4c569efdb43e6e5870a8771f157408912ac3fae469fb33a656c82012cf39addfc6d45f86a9f3293583ea95a031b37a8e08c34341f39c3aa3417710f9f4564524cc367088548c0b06c0f4fbc9f5ba725df6d1f5f9916f38dabeac78093990ac0707b3cd9c5eb930b91bf068b60a21ae9e2ac020eccdb5348f6da05c0885a891e18c51c0f69e1069d27259f53b87d4bd7cd4b1d0e8897053c43cdc4863859ff4fc7e7d7fd8f410722e5e9972ed876e5706e6a9e89d35dbb1ee5711d8a6d511b49e88b1f80123cd709eaa94dbd952577c461938354cb86e009f30bcf8ffe776566be34bb2b53ac02cc867ab74a828181f96d887ff11313359b464fa634a64ef15ce63b526c6a18d8ddc453eb9f0bb563632df2b6698a87d335915fef95046fcf434272c4f6397e49b32bdc4a00c33eaedb1e2da822f16743732c595b9d6b13175762dcdc25c9f5dc71483f3c3508cec89dc335a9ab90e36865ee0e06e7dcf1f702fb899e62398bb44b9eca6911f41de45ba2b5a108e00909ea4921a48196ebbd8be70b290861cd59870987fa815f8babd08e1cd24705374e143a143c21b98491c88f926a0cfd310360d8547be02ef4f3f047bae8f212277d0c8a8281bf6a288feb8a7eca5590c452ede55c8d07436cf49a9794e41a6cc4831420e66ca835b031b226141be36b7068f5cb828c66b5a6d5ff97624d4eafbb9c546d69f0d15205ca6509e5119b690b8918520d669e5ad79e82f5837ae787ec5ab844c5021264557759e38aa5a81f09fb77ceada40cb35e07a897d0d00a45b2a28c5933b018098e457b45b0290f5184166cca4c04437a5494c9e3fb635a0663a98213e6e867b647a24b3aef63b12acb75ad4f41d13c77dde9a8c8e8955b26bc4a718c2facc2609003c3704bc8f0328267bc9f7181d80f31c563dce92d9c1aafd4840e036b924d573fd9ae02808f909efd8581decabf92b7dc3743dca12f7bdc1e499b72218dd9906359715378f77031cabee4aa790f4e5b178bb4991a2aad51b12e9af8e248ed13a159fec65b39b125ef33a63576e25f61705b86ce114ed195209f9fcc406431f32f842b3952068328860123bc973a95ff12fca43852d3d4f643526455bebedfb744d8c00c44db1e270c08fa2a5008ec46474632818bc64b6740a1443566660c54a1a2b0c577829ee88367cbd697d9f2908f0de16d85c1500d4c35dfa5eb5a7ee216656d2be33f67aab6ffae86b63518a026d33cc3ef726db25e47878c08624acfa3bb9c0874bd21c79fcb781d0a9258b0a9fbaff4cee3c9ccf91ac3ee16d1474ddb107e50c8e57645ba0b5dec16b8f949924196ec7242e0b5dd0060e79c2125a9dbb7365e385acbd712b6d83cbffa992614a844a7ae063463651b23c2bcc1356338cebe28c4be16f842cf30a931654466ed73ffb4d4cfe45c1c74827ddb2a195f4d765df12e5c7f404d3cd8aa6580fac48a047d97d0922b4a603985a3437f40639ba771186b2fc0b53c6f6335ecadeb863e50a723549b3e9af146f8c108614764349cbff7ad7703f81ece272a2a09189d10b1a455504a676fae11c73f71470e5fcb7fa643f3306f6304507a79b09e21bafd3880ba944f20fb717cca7215fec66c27259e9e2dc46851645968c08b2353b85042a686ee9c5e27c03705a1f58c24e645ba8eea862267f9280ded9f932e01daea009aa3f4171ecbe3713315e8a90d9dc5d5b32ccd157df9a5bad2f0e2530b7e489b3e9e545220484039a9630e90bc40c09bc19ed8fa2f259bf5f2fd1883ff9cb070ec1e68fd3dced49cb88aa7ea467eb4f674ba794d6a36153a487dfa34a84dae2f56a1690df7119e75065c6fa70f6474e4e7718823342041f361af50eb5f11177087f73d6851fe096936eb176b8c501eb1b3cfcf29af3efbcd641df3f62330fa2eb6a288763f42afbb3b3a76a22d716b33944a9a5906120dbb140a6e010011227dea0e2176d9e12a6083cbf4e5ce24eef8c9ba02e42251e0df23d7093bd76026a0a1a7fca8c38c5763a2e83703a4e47df531e14b4430b665f5f757368afae2b8710fd7ebce1886339255265dd96cd890fc3ca58a2f78b7d7c54fcb100ddb9786fe8cdc456b962f2db424b2ff0b6e13170759ac4af33438cb7dfc16ad1e9c44eda739714b29e31d30eef360877e117690bce58216a9b7fe6e0a5586bd8484c8e2d6561efce06c041c731d01f707db9b7962a366fa3065ec473cef243d63960ae071135413fe4817f1a80acb8493aa14b60b81b7e37023bcea4bc0588e0c6260761190997ce5bb4656a1bfa11d665cdc325ad74779ca2b68b628aa3f0de24a6ef317fbd946adb15a4323631d4a7990843f727303035006eb850ef828ce66acbc78ff366495ccc56090d1544de413e624c4d42f07d53c3d743a36a4a3e4bda0183611e13ebdd572b809e9cb3c8774b47941de90e9d1a038fb533596e5cf1a804cf0c275ee70518f013841aea0f758d142ee7ea549b1ceb325eb3e68ecff611e06fe93bfe4914d13d95295c2a069fea9396dc8285a5e00d1d06af126f463dd0e5d8b4aa8f845f97c9c3755908fa8ac7a7407e85df27e53f1950c160bfa1e6a433239754123d8f7d00d80b60f8b5f7504cb496fdcec1cd27cc2c6333133d3d82f0a0a5ad3381a28c5feec0ba41e850a79275bd14bb59588cbcb4a835666821102153cb2cdafaf0f2a4a8c5f3705ea07a0933516ae33d823ade99649c9937ae8b053ba8fa0d7360d898d146dbe5344dd8aa7f8d5691913dbba2ebe6f140f9274514abe088d2f6dc7cbb06df5d793713d687c33ca1a3c7d17e54203c521fe1e25d8806b35264e792a06be3b73f9f337dadb067ef094a3f58ff4f11571702e344fc56ec50d42a787b718e1ab87920564ac24b464867ec1c6d436e6ab3cc62aae7278b4dae34ca592be6553d96f2bad4cee31ee762500811a50e09e385cf4fee9823a949f28ec17349ffc1e10aa7c966e021a5b094f81de93947a3de208f5c5136994b3e4cc473f8c61fb6f922165648ebc042d11b3efa2333fff61929f6b1e0179140c60c658d24b343f13926d081156021ef5cfa270bcb29bcc70c0592475c7222ed3491a0c59b28c016dbda6aa5098e305d8f20b45336c80ad4ee8290eaba825459d936960dd78db1c0a7808430a3d76c810d5a5bd0e9eae327eb619cb17ec14197fb0e223e46e33dd7ce47cca78595b5c57ea53123cecf14de055887e3c9bebf9fec1df11528261fe1eabcf14af4674f655c24c2e9223136967775452dc022cf324866aba01faeb9a3f938491c2ca4877e1bf882a67156dd067781591eef43de6a6ddf688c44b1820315c60c835e7e2dd5ae98987a402424cd9c8260eac106a7742a04aa92b85ee127e4711fd662ab2ec0f611fe13ad23ef81714432e0ad02904aefbfa07e6ce2d3ad2d5cf3cda4ccf0256496eab916570e9cc8c9647ef84432c458696b7531325cec0e313ddee22dc2f1c5ca6da0a8052d046122ed97b0e0089bbf9228f09b7a9e617ac8385b307fe4a957cb189ac25c3ad6bf3f072572f86eed5992b7811470af42c1ef3a8134de82c8c8af0045d5b33ecebd118609e09634e9e98fc91689c36451eb2f2f4e51e1a49f4477e78e026dea108acd99f376f7dce1097027f62de30e780b20bfe31e37a4ae9265b37c395c055780419be2bd34f0c00087f94f361eb29ce4a5f3b3f2ab75c193643cb3b809f2a1967161a92584e61b29355904aa64daf3d6eb94a042441e84f5a0fd80adfab16cc638877008a70774d2120147198336bec3bc6790d3645e2a928509333d52823c50effed40bf90a0d591b0bbdc5db65a0f426ab354ad2f450dc969b5c5176ae57dc2f3e85a0bcffdb116664caa6227b6565865c5594f44c649332202a4202093e8dea2b3f4ca5b9d3e61b061e7cbf0a4bbac1873efabb91d831734a1af25b808c176f9cdfdb71db15c2912812399a114f8d0101669ab056daea1011a6410f4b9f07a0f66df1b21766a8d678d1a08f79ad1a0f1efdd0d88e6514a1ca9a53fb28f81694db33d2213a2ad7ea9e15ccb827c6fddd4c2f3c52112ff1bf9e4d6183a09111fa82d7b8b691128ce9db7950f88c0bae8078b16e0e01406c4e38b69a8210c31f2a7a954370dbf50f2abd0db1dc3eda67b571d5c519ea6eda59292426dcce33d6df7e45565b943a253208bb8d04ab66ded7ab1ef8531af411439c9c68371a08ac4d932873c7b4be64c58c50dbe5cf93dd405cf24e29f4f445b30ac918b1393aaf77437d9eb27a30ffbc069f4edee50f05fc17707e0d1948cd9fce4f52d50fdf790c4cd0f890f37c1ed7401ce500afad44475f2936412653a3ca363dfa02e9fb6c7a732a9acc1d3184150ebad817025888fa6f328992ce7e0dfaa1805bd2ee90b1ffda0a45f0f7f9cca722fe104432c714288b8755c439291e42208c3eb29c480f555ea0f3e4e7331e642e083038326d51236391301afa5daeab871501e2be655a285b3780591fe9ce21d1817aeb74e9080455a22a8746bc97d0fe97918eeeeef8c67698a9ce1a52ae9e95b2da8365af793f9df86fbfa29baf4830f19f780be0fc147fecf4957c07332908828fd4e828167e31fb5149f203263c5c7e1b473be2c697c44f969ef68e3a346578b92532787532f4558a7ef8232c52957782e6675c1d7485ac35f8d5fa586e610c8e9c7696dd98721cb7e5a90e3fdc3e6c88045fd7cca74bec4a99196e2ff9b08098499c254a304068d2f323886b47164fbd16be05f5cb5c317b49aeb16c0d7319853efd9d6910fda304293d7a95539f29b7a803c15cb806cdbcf86a59fae4255dbaf4f97bda39be2dbc653ec327bf9d465c681f9484dc068a98613dca141c6fe79fe4d114e33addc1979b7db59a4cc1d6aa4dcb36a6ac348c5a7ccd18231e411307f9df6e4070d321388cef562a60dc93238574bffd5ec6220076a7cce54c4541366d186d0b7921ca7d4b5503f80cb78c00438ccea754b66be759e86dc660133db56c93d3056352a12420a5c0165104cfea786f807e8c9706a5b72a59d92e634df47413bc6745ed148085e81bd5a20feafa670452b3d5bf8c9567bfd3cdce5a5a5fe4faf5b51d43aa223e4dc89795bc351091ade5dc2268a701eab98ac4647512b3c0944b3dfc394f605e268792d1c3041ce23984523f7da26bc100dbe4cce296db6f910d81f249f9627fd64c1369acad49927bb51fd4e634ab167b503a8fdc3acbf5c4ee1b435c7b1adb6707f33fdf741a8bfe064236741e680d4c23039d360fa86616e5f945c1b6a3c51ce27c51239ed9938f13cbb54debc124bac966ba077146e6ba90cb64f4300e003b56b9d5f919aa75ae8256946aa66dfa32bfa949a97501573d0430048863ff8930145ef8477fbe90e3d1150ce1d4a0feadb7150f307826e04647f71715bec6f0a79087f27f9ef689c1e9b5827a761d702b4a0aaf9837ce9ab16ef881fe4587dc7bb89671e5fcc502ccdfb1f018432af676b1a6e6fe9339d55428f43e85ba4ce8b50945f8fcb7bb7edefd2a1e6029e7fcbe805f37f37dad842d9a373e2328285d52155e3e0a53dd0bc72f05985a6b0d97c98bfb34dd924480446a01b287ec34a3a271378021843480db8a8cc77d9a7d95a85b8df14c759e44d9b81948a3f92ed99ce601708abcb91803e15887f7c8341d16870701892d8ab3fac39fc55389987ff1e96ef1b4403da5f204ed29e6046abee0b94823227670649dee9dd168c4c2054ecfc882d45a22e1eb04ea118fc2d9c0fc3946b02c223dc21c5481719ec7102e7332db612ff42c102300d9d3c1b3ceb75507b93e2cb7d6147a1b9db2f872fc22279954b3d9b2302940d0fcec587bbde0c63a6a376a462a773d85e9b1c64d3fedfbbe81e672620c47f22ccdd9eb9470159c21d5da77a657ec61a356b1c2c0dbe682f382a3b6e62fc27d6d283d0874d683d9874381b76a1f9e370dcf714ca2e8dfaf8d321755013f5138c327d3b6fb24028e2a85de0f515356ad2c10e968d85045c6a50cb88e163708216a0931123b41e1dcdceff4f1ed1c4b4b6d8289af88ad1f2d02c498a5f5b9bfd9335d6dea777379512a76dea8dff40fd4871603c8c7ca2010cfabea8276c5509cd54a06093d4a136a029970840408157b4c83391ccd296035b84214116dc0e28330b6658327214f7e6c7715882a640824bdff51fd3befa6378527d2cbcdbc8f517f047c074283c3ac50b7a9d1bce7d2c53280ebf705687ecdadf2b49c4162d54ad3bffb013da9bb0aced532cb1bc593e5eea3efbdd75043b26ab662121c9a91ee642dabf3711f489c585e8aa639ae0bbec29d98b8f15dff06a109d00ed820ead89e439598179171977a49dae71e9d80ab63d6375787565852ab6b3c4bf4594a6344c0e5d933b494879af1114f87fcef1bcef5c91c087ee0867ffb398827c399dfbd1a2d9c58de6a595e7dc12339d610dd9ce1e46ee44d9dd2fd16226384aebfdb736bb1f4ba906fb480fc995a12b76dd2fa58b934f95b93b592044ae67d37eeb8baf4f81752d0174e919bbbf5a0ff700325e5ae6c137af3b776e79e0859246baca59ca51d02741eed98cde439cba90f76464c3e095beedcbfca7ef61cf60283393eb503fc6b3da30be15e1bf6deb2acc4865182923b18e5c67e097ee2a9c1f53d473ff5ea8909a5caf1549f0804b5c8510387d1f60931512bf591a233eb0d103a3fc4796fba6690f8f6e27b880cb21eb9eb110ec9af0733ecdaa820ab9e456d13950d80dedaf5b77f9d7a8803fe85ca5daa04579f72b36a3f8def1c4db5f028b6f96b43fd66d156de62e7a70c0b100299041af74d8cfbd8c428691c2ab4b51f197132cfdbe6a0c082960710b8f557a2eabc3f7497dbd6a425cee239c8386517ab881f50596b8bc95119cb8ba2ae1c322819045a7804ef47381b63d9555d56bf44a6fa59763239b7564bd9c55108b169b777ef9ed752fa367bfada8db88602a681553179610871e322bad76696c30079f63a46ec56d5bf309f4d12962080a698478339540ee3e4cf368221dcb1e134713c44fcb04fa14c8b99c1f1c21090eb8fbde9671bdcd0562ad3f9b426996e5bcba010a6c09c5857d9cac235b075d32e5b7047b4301e822dec5da168398c82784fd45ca97148e3e09b0ae5880c860076112f9ed45a06b3698d446ef92a14faa13b2730cb4e29ec478b62c41aee81327b51e94f93369f270a819fd8ddf16d3fc68c77214102afd19e13ff6fc1a7288b7c3e6920c0afe25a061f44629bf34c202f5fd233100992d2303976a3413313bb5520b28e444a5b2bf64526f5209452be2e54507845c9adcd0c6860e35e3c817dab7b2075120232812f569f4e680e9fd412dd26ee35398f7b815bcdbad62a11340ae1ba242260966908854554052e156ac6bc7e4aee1dd1077ee7117fa8de65bba3ab6d2daece663c6d2d6b4bd2abca7e46ea820894f96940f1e42b66d2a590a47c197755e5bd68576bb881f2aa0a84b52b90ce56a54de04d503c8a2eb9314236360804506d3db0f920ab1991da369ab2851e2a92c14b95de6a0a2dbe1a39f2f7969e7e4e3897aa1eae25686848f254171f3ca55a4688f66000978ca35c1950afad3db006de59cc88ac7cfeed5bcbdacda5a6c9ee363fb7600219e603c9eaa87932ccb978c358d5c678c9759cc771f0dbd46e4165230f0674de03929e1e9e2cf766b6aa59ec7e0f337c65ea013d3fb4080ac0be1dd007e1e7c4fa92a46f2eeef645db1f8452f9f9f6a46ada53a5e9dcf5785764a425836a71dc088548ac702d8012a953519737a4bb1090aca00481c941045f02101c9b4e23c51caa35485c851b6861a3b9198c1596d63a1b3670c79098510cfa40788fab7657492d7bdc74ac82ff81ddfd55bc91abeead3dc95f4272e75f4bab675e1b03b327e7114915d6e1e9ef3c4deb07c10f16f37a7d263ecebf41db0fbfeeb35754c8f5d03c221b7846c6ed02df8a24488c9725803e99a65c6fe91af700123ca34f4fb847bdf5925f357c0de745c3a6aad93ff6ff5931dc6e6f4f5a7573ba57c0ac58a0a692ae0c39a6a00fc0f2396c79b237697c78d7ee47cbb059cdf444ed5d1529f09b2138cdbc2d25294399e975f36fb42d9e1350ad5d678d3134d910dfb70ab3482f98c692f6970c24a1feee3107025b19ee21240e906427aeecfb181ab82e6209fda99f81064c3fc64da998e656ff1749ff1dbeb68e930b6118f4f48150cbd35d8db891f7ccd6851c02fbd07c3a1e1ee23612c65924614a70c24f42857bf5cbb67abbaaffb661d6d86cb7d697087202573fc8767c8746b776328b1704c2b7fc3923fca82ec6caaa1e672a0e9bfab619a46eec48b84c3d441c2fef9864d58bc74ca555b255d5f144e6731b9a4296a3e4172f426d0de72e5ce8c7d635a6a1214841ba802743cc6b5e58973339db4fe5e7500fbd1b0feb17842757edc0ba2436afc42a38772fabbf76569cc208ed176d7f5c017e750d1970b60d27a26b23bb23f2dd7c34736edeff897faddd27ec2ef109a932db962abd8485daea3b73b88eb08f20d02a1f43e42123f98c3341a11cfb46604938f41a7dfcdeb4e8c4eec22c0ecb9fc760110229b2c61cc1f1fae9de4454afc707f774740406c184b77577b4d60fd1efa0ca00302171bb8ae22c6ab2b51747a24ce1dd635f1ea538ad562a83a84ba88f7990bcbafe8719e4644e3e209e785ea8276c221d67b4b5427c325353f34b07d40c178c7e29c8e42a048756f8da2d759dcd4c43bf12c3fdf00b40e598abc78e8ce571e6569e579e6a1d69dc1c55a86c57319876fe512274693c380c1bbab374cac2386fc05a063c313eec9f8899d280107b46c685f0b0421f9bc486ee2524c043381bc2f4363701ae796c77c7c308e5f73588a92c842f45fa9fe73ea9d2f254a2e1686e7cdea289b358badaeed76cf9953efc149f7051bccb55b70f2e4b4e1f24edcb52e4e4c981abeae1a2ed69a49100244d0373256061f312371a530bdbb8537f47ca76a066b1ff37d47ba5069d256f8936422d4c6c3b1fb8ff13ff4ff9560e576e9bb7f6c139ba6bb61379321ec800a1d7aadf775c76a262ef3d7724dfceeea155a169733c819cc3c26fc1bd139cae2865c2ad0188c610922c76e38e32921c400415923637f4555fb43760e6919caf3be7fbffc8b92b69c1c55f91f2cb5f8e70eb1a304ca9b773eca58e8d5f7050f05f5956cd0cb539f9e13f661913e1dcf29e064fc5fce671f23b7f578fa880b1c171f5a3ef657ebed6d8e749272f0345310864319fe73ce71e946892c7a763bd515a011c4f92aa62882898b0155321db759cd3ea032c72881b1486792a58ecf6107eadbff41b7184f0721e0fa67ef2f271ae2bd39057d43925eb8bb58223ca30b6cd0b79f3dbdf3186f6af8d9c9fe66084249a610f41790f42d75c965fef5850528ebcb85c866eddd90a7200faeed6c35a3dab1ebcb85f2de89ab35a50bb0d02a113efaf7f2f4500c156fe2f95bf1296be6c1121ffb36f064967ffc251b5c4711add1ae4757322e50984e463837944627aadcced677d055133a3bd4366217c064394c91180f34fed2a163d944a05f9604e7fe02a682f6637e0cfbfb2f818cc94d3b60e2a66ea78d8e036a0564f0bfde256f52e37e90f94def702a6b1b31e2f9de0ebc687f4bde5d48faa437226040e053dc6a668d547ae4ad21f4dbd253a6b45924940ecebf014bebd91f8f8356ef6b006aca506d18123883bf40aa262564b989a38a1e61560109c47d7fe1667791b9a53a54f7a340d39d66c4e8cccc2ce870630c64904310f317e0df99648896974a73bd33b97937b774196b59eb0da50a05fc352354a52b4bfae6e091eb515fab7457ed42204315733ff61087314626f64e3262ec9420863f608a503e422083641f9587f7ced63573b780de4485fa5d1f1212c63ad10709e4502351a68139338fcb7a4b36ad3b31c162091061922dcdd87e832606838ecbcc8e5944abe8a6b36c413dfba347ba0a2012f87a4ebd347f3c30bd16eb5dad4a8e30e2f72084e793549a4ef7321ca6b628f4f461f72b31bb4818e6073837a52a033cc52476cc5fc4708dd3d173b899403d79b28d737bcacb72bd7a49188853cd0e54726d9e39bb9aac8ac125a8c7768ff2afb72845afb829fd153bc111e13ec033ff32b425d08ded8e45df89ac46d5b96831d51e20126290916278dc07dfdd0baf9fb2afb3d1225d16340e72dfa4d57e2716a2c226ec95bed883de90e2448e4ed59fa5fd46e446c22a1666a16a7fc94baa153e5b5bf5a2821c1a29a66841b13af5b07ce3fa359431ac8ac6a8349bf900dbc5b0a2441c5769315a8148aa87ee43d863a89516a8c2439e94111720a59f5ef3a21beec67b13fef2289053b93e85d3cc3176fe9b47168eda7ab044315bcc2d65f006c4cb169f899109124c22bba7922e095e9ebaaf28b308b8bf8e4af0b6777e83bb1d8c0d01db3d324cbcc2e1fb1ea3ce5acad915a48e5368adeef43b3cb605a5247ac4e800672985f833df2d436c57ef55d8d7188a05098b0ff752c08a172be268ca877ede65319b4b47758745f8f9449cad48156ea5279bfeaad203c7cc8aad4bdbdb44654f37c287556ca4e322aba4ff02d31a1c9788955e400061c97c2e6290c2fd2e95dd38ea92ea96bf9ddb81efa99488f47c4079e0a1aeac451aa3294436e7a2f22e1a21a54853311e41d9353567e171034292b31c7cadc1027d9afedcc85dde1ccf4b18c1c568ddb3adc15fc5e689b5f7e415c882bf91678dbdf41040f3bb9c09fae641bcebe4ef8dba4bed9342d5cf029cb31bf17e3f4dd68dc250b6a81c0efd99d356bcc4e5c4ea7caa688f1e33d53428b83b9a9c4661b28a34c45564c80ff2d232c83122357bcedcac53f8f1eba0798f8b2e8bfdd22ab7576b81b5a116510d39d85e1b165497a039d26699250bee14ac41547cbc3e31cae6a296314b9e16e90da9596c2695256ee00905e3cfe599971b0b2ced5a9516f313b4205496e4abcda16402ce88635d0e4bd775c53546a942c6787f90d3d650e38904c481dfc9bcf9fa9853f83cc90a77e944b017b6f24fe9e7d1e38cdef6952cf9dc4caad9707ced6688a0c2a80ec2c4bb20e703a9947f0eaac7abf6b9803da4f39809946164aa1a0a668afeaa090b5d5eed46d48d0b105243fb1a78196f8af2eb5963d23dbbfc4cec1e3e7964dc59e70615e804e22e945a821fe68fb2c42cb636aceb02618087e37b7bd74e7204b9ebbd17ed3dada027824a4cc6916babe08ea6a14c68655c2fc86a9ea2b7d25e23e3bed3b30fcb68673c2f92d3eeaf5973a04199c6195170722b129db2b9b778c68ba273d7af18c6c5dcdf8a3366447ec26cb25381fdb0f405070223f917cc7f6543313c283d4acf1ebdcf1c5c708786601c81c3e015e31a633ad1a702b686ef121ae37e71ea187b21911941b38b1d57d924c03b40bf951da1200bf8d7eb30a79616609365a34fa61c543615da120ac8a5d36728d32dc9e1dd6b2ab626fbb0917194e6000dc875099e376fe17110bb5b99c3baa71e03a3b14a5327ffcac4960ce892798aaf5929c8bce99d1bdec0383248cfd981a519989aa55f974916f9cb437acade4f6eae3662a1fc698097e8470696e2b58a93c771e8b6431a279ae506c924cd9799199661c151bcc27baaa41a1ccf2bc153720651d76ab7a8b700ac43ba102898b70c90e1c6c21e66a8cf19d1f6c08cac8c13f702d77072a8a6fa7571ebb6d317262b8a391a544c52c9c105955ea4817666740fc5416fb3b30c669a654d28da92c527a158239d4a43c75f3ea267d0e4956b304257dd6d0662899804ef7b33d484cefca2f34abfa201f355bbe6a8149af54a48784f66494749d181e7a156ad746164d2ab45b981783fa4654e51d2c9564e695377bddd6e61f80a888a8b34d31527342b5ac8c787b2cc9f15fe44c3fff8dbaa662bbfda766542063009c6534e3072b0881b8e721897335f648fe2d4990cf153f845b61bbc88ea7e0faec840b65b66f9f06e795a12ff74196639abb90cdbcd07be79442914d6d2bc7d251823b667a6b42a688e0d8f177fc53175efef90ab896f1e55fd71db89b47a83afa46da3b67fc85ffb928eaf95c77bb279db4ca895cf55afde1672a2b421237c755b6526e1c4161ae100445d01f030974c3a5e24d3d94822ed31b19ef24d8d3b5cd1a23de3520830fc138e7a5e85ac1121896f9c47cec7c866b4bd93a9dd68c71a5ba94d8cb1abdabb0f71585dac93df31b40dc62791af1293e52a9de0f2d72aed4d277de9b54e6d16d82904a6cbe203c8993f2095bd6dcd2e0c3b1e3419a82ca0e66aafbcf409ae8005d0cbc139d84e25a0dc0977dc9bd72570758c5a91ad2fdbadc48fc4f9712f04f033738826efc55d9b7825870c4e00f53bca76a72681c70d8a862a8e82a65cb22f5fa8c9079680a1e182916085fb101101aeb5052ef23c36162048d35d3dc77fceccd9fd638b585f7f49e1afd0a086ff5725b93c70c18d81d97f7a132a3e06bee4500421ca4e216d726b73fdcbb3f19be826eb0acbb7fe3de307129f643b36fd34f8070424ee7d4ac6d366c0a55bb3e5920e70002ca69327f6869a43731cbdf0c11e1b59225b1ecd2f901a6630fe939c28d4a34ded529b9bc818f7f64564de6557bd1f915abcc1399ecc47815cc32dd63d62851d020450699ccdc81c7006978375a57fadbf7c3bf9dd435f82b63bb899367acb662b30a4404dc4be153763d7d69cd51db2959e2eb0454a6ee23bb79642acc013474895f09addf2ad15d976f2948acbbe8153838621d34a300b28d5a32b4ef52fa714e1b3af18db66db7720799f7f850f88e1b974ce0b875a9cf3daf15e54ee288af7f34f3fe7cb54d77bc6b95641e29fcb62ddbdf98579f9f9d7a6f9463faef4e962a2d376798967adeac124abc24f0805fb1c786daa8a71de7d29c47603748befdc809fdafeaeb56cb2fe4e56d6e2d082424e471a277cd5b78070b56a657ea5bbef310752799b3accafe3d7da3f39c28f1d1b8bb207d7be881f330220e8051730e7b1286b02f182cd99d2b382229baf9af05822d2336796b8e130aa686ac793ea2f320ffbffe54545eead03fda69f5b1e57859d51376dcd94bf2d7bd1f127553d8b4ab70e76f06e7f9e7f585e0bdda2ceddab2c780181cd4229a76427fed4ee8b67b80a76909f6c6e8c386429644462d2e9e48935ab4f3bd603311ae6b73e5a4503025e1d2e5ed78bc29955582b0cbd9cd6f8d509d3eaab3ef882c172ff2924f0bdff8349b188450c24309f8ceb706f8ce24db9374b421c222ee171c5fa7a68dbc3d8a12dc3d12c5b169d2338ab02d4f3d5af21ae47c0af94668c42c5b5dda14924c8cf2e1311a16e6c77a6c13801c383add0fc230928d5f46fd532575cf0b96714895d391c3c7ddbb863b0edb37b9e7db885eba874250b3047cebdddece1b5a56c56099fbb25aaae010d7d7378c162a2326939c6169306e4bfd3f87d930deaa0ddb5d972cf12ef169f4e356934a6d883e4c92297702d8865f7142c19f390dd99a00e1e95f95ddcd15418aef1d73506798d269588dcaa455668837536b6306640d6052fc1c6a8a6bef7ac9c655380e8dcd041771c36327c0b7798c23084d95d168f99221be2db93b1152665fb01f8c6aaff43edc7f6a923e521e8d89cf8b86872727f4167aa7c795477aab4cb2c072da77778bdced9843bd5b1d67e5ddcab7e2fc44855234a1af6837d4076e8d3556227400fc04861f0ae333ec0e34d65bafdd27f4456e3d88c6041363de83a5db6c0d297db40889e8b94bdbd980367d5e39e7a8a0cfc8c3483c6a0f9f76a89d4f5797b604f42bd62600a7596fc5265354cccb02b007c57f37cc1bb7fcf2942047a4e60c143b88d28cee4ed539cc9a8cb835bae13869f9e1f274afd1864d7e29803dcef81f3f797224554cce710163a41b23b4c9478a92c9a2d7f6f2406dbc637b8cb6a6e16d4755efc7cca6440a436236f6216875f91a437f7abf8af4636cb4b051b78f4cad7f08a7edcfea253da5da25b7a58fcb6b7b301ed283cf599ade54ae9d30dde5ac8f1da826d7f563064aeb2e80385c35b8fda1b43363c28f93ec9214a8b5b3cf40700330d53a0a7cb7e0c8d3caab24ef183ba4f9982b3fc6cf2b93dae6b2e54ef1f2e5ac201897e251fc3ea72241094f4ef38088f442dbd5e87c1fe67faee6413559cb130d18e037aab06843ce583a4c6733d662c4f4bb954e9c4e678dab0dd97e4b7cd45d33ec9beda71246095897608dbe41d71a8c79365b2eb54015b7f82791fde7e9b8aacbdbee3512798409b8b2a2751e13197cdf4949f31485e22040c8ea82b970547248c8f13bebc92899d3d07d3926e163d9932958d14a353f6c4644ae17873d113f1f70852798919743627a9c77b631acb47331ed97c02918d0dcb287b643ab10e6b5d937a0e98972ebae12bae0bdee53adf979841d3d63dea7b3385c780b59fe045bebcfd4871812e43d9c5e7434848dfea129fe33c312566fa5ad0928efb0353e34ab47af6f1012c41c6f57cbd3f791fe56bc82b8735f0fc06ffd5956d18b5ae0f8271e75187234728415555de2cf44e0398a00ba021d9ecbc3bb918e432d24ff5fcc9043fda7a4d6d6050882f12b3cbd551dc4033422ebffd57ad7b73927e66a4aa01eadc1f89278e250edd4a9aa18bb1a4ba093bafbd98a445139dae71e865871424a930bf0de501c66e28c188c99b5cf95c69db133b0aecf46e4c0eccc8a63079340f8652842814da58e3cc66f7d34cdf84cb7c2290055d9b0aa6ab069d05c027de2da751f029789465d6d7b72683fa2242a0d0d46ab5dfeeaf45b988f9afbec730b16170aeaba6cf9bbd3842241fa0f3336ad1499a1efcbbb7d6227b6f131baa1b176d6dcc4a8c4bfefc9e72df96cc1c3ad7142be6e018dc7f2dc94a96b0549b6b6d90918b583997ae7e5864271cb614621cabf94626d2f083605f4742400fb9f6f86f688f921e6be2b5f8e5140cadafc2801bb58265e916b9e40f0d49bf849b3ba0ce8ca1d5407a2facca25d390758455e7cb1a4d5edefeda366d9225cb77878bc3e63fa512d08ea1faa6c5d3b0c3a0129d4651657ba349c424316f3d2689b1739a2d560db9ddd717d4bc2007e2dc37db61f7a3fe8764b35660ce7f084d1ab004fbeb3e15fcbaa5547b42f12d0d8543c993dccd3ef4a52892f2495e21e558ee99d79dc2ee8cd29122858e3bfaf57651b62947aee88e1d52da5945f46ae006f9a85f74dbcf5778147c4282d2fe57210a96633a401206398517ca044abf84b72f6beac79500f3b7dfa721c0b3e56e097f36abc15000f11a9e4aa389837c81476d22d029883126f9795d2750c63ed96e9692a55651a4296ba6dcf301396c1a67b9e6de6617b7cd0e35cc48c8f41de5969bd84557da923b7dc7cc4daf2b2ffde4b7734f97a874d80e41ed274e4d910a8351f5dbd95f20c26335e8839791722dc31ee692a95ede1391186a29a1dbf302c9d0f7a3017dde5f95a49fca349175992618a33521906f39ab75b9793b420ca91ac424512c1ff502956c9a4d00c53f6ae636f842f76098df6f66dac5050aea6fd8023427cd352d4b34b46497b85a9458e69522d9835a91f85d3e69920c415c318e2fdbc37145f4855f3c52550ef153c18d8c819a223c13ac62cbaa39b0c1f232a3d7010a512981638dd6ac5e2a26338f6b28f975136fec39f512aee8ee2eade17045f522cf2576754f803ecf45f5ab34311d37cebce0e38fe369a0322b757a07186f247baacf15c48c7346a0f05ee353dab0d8b86d067c2edf1816376b344d76bf82370f2a1f1d19da66aa6c28f0b31d1028eaec1dfc2230b76eeb2babf43e66dbdbb17d15f0e62c1452dc4d41429499556e1089fda04b2700a57eb65cc3cc557eb9a59ee5f9bacd950aa4f5faca3cf5987a1aa43e87c3e149011d84580ccd12e1134332e5341616ca313a6d57243143573a415bb9c2c2e3a529af949eda7c3784b8f1c25356f64df604196847a10f19ca822375b48d1649b24fb77c6d3f35652e36ac16cc440ac8503b53ac13bce76218d1fdc063189341f5687b4b4bc52989fddf4778d434583d9b7faa2a1dffef1625b203c4bc227135afb85e5fbebec2bd66dfcb80e85da7365a12cc561443831e08331885c0f7b0a5425a8eea44e128c92398567ee11ec7c563e3354914a06c7a9aaedd82148ba459bffefa16a460bbb6f3f12071336a7a671e7e2749910b198fe54ccf9d55f6bad15629d5b6d3b98962c88da2bc0f009f1deaebf72a1dbb563862a28da30f3320bb49bb74b8acf99e4a19ba8b8cb94431a501d8ea5093c76f42ece07c223c727fbac2b3676067a0e10b7bbc3d34309886de641a3ca83ba51cc80f98a1558332d0e647f458b68ba40113aa9331402f4d92c66f8676309892408416c281841ea6fb4c4c976d8429d8327f4b74b71d6bd465ad5285c35a1be65104032b730bfcbfc271b5117fe94263768db76186c5edb02299314f83c81a101b13dc21375eb877478cdfe1fb31c98e356ab62beb6a1e79d028f0399e9fdfbf6d75290d016e224e58571e22e269fa714ba1b466636661fe5b0e0b77fc4310b3efcb0640f8cc1b2823ecb0831036e479deb0dfa3b38857c950fea079db6a226707e32c66252c2d76fb201e84410afac44dff29dbe86e54660fd4956c36f93b42cc68bb2e54e0f1a1ee66b9e7bd86c41c89a80df68f4edbdba78ddb52a23471f953be1fdb7837e37969fab143066a04cc193bd93256465d4cb436d60a266ef0a94960703d3ee3ffd8a54b50a2c5d48f1f04e5fac2b1b05170a2d8527dc28f6b95e28aa8633c7ca20707dd33888e5372c9a32caf69dc475416bf4696c72a5ac3ffb15ddeedeb574a2c43231dcf36df41de6c7272f135f142c902d043f58d37ae935260d6d81f932672ab0b2828f5ed92d1713ff95f8b7a5d45880f0553c3cea005c82f99ed05a0ee724fb5cfd4e770c545a22d4424ecb49d5ea8ec4b9ee7fdd99fc6431f3dbc8e159434afc67acfdfe0937637291c621c8e0fc1532b4efbb78b6460ee0205a87f2c9247786e892815890a0b5b4e5108a03e7b75570d6fd35f7cf9bce758713e0509f6f337669874ae8dbb2392b9fe0e90042d38d13fec0d9eef92acf20183211080e2772d4c9d43476c25aa3f22478f8810dc83b2b6cfab5174f6e22a4eba75859d3aa6bbb357674e9fb439476ae0d617e91c14e3010a89fab272b46a3cf51fcd10ae3c924b6c8182decbda11252bca9b0160a4fbe3d68619840f5835099dad39e5a7dea3a16077b9c057912ae1fc2d911fabbb6248d5f9c1df0e493c13ac629050bc41da527cee222f7050cb6f1f60e876edbbb28c4350060bd6685d48495df738bc14eaf312d72dfde2b032b4e2b8bd2e1b95071c1fe7c748ed91a31ea1c6e8ef4271bed0bd8dec21127e3eb65ca453974eaab075fc519d60707b91bfe5b7ae4ec873aab8fbff6d42f850e94ed5de30befdf918278441d71e8fd60aaea172198705df161f33af169c8ff124bb6b52ca8c51cbf7e48bdda372edcef9e3b6030dc264df5c1c76d18e2b281cedd0fa9e9b86bac93fcd947a418fbab4c8767dbc02964ccd70a0b46da1ee22e4a3414f7e7f1334cba24d3ad14d58a645b8061e86ae33e5c3c7b8713758becd8a1f69ce1e6493a4a8f674bc6fb3fee9d6b52c71bda2d4ec65236952cf22cba6b62c7ed9e8676ed986abc457cc8ca2c66dfbfa86ebb47cd575b6cd97890b7ea9d7a3745d225bd961a5f6c1a71ae3e92197e64c77d9512da19cbf3ff916a47a1aa432df9a1014eb3d21932d3e99d58994e1f31dff9bf8d7a0aa53c162b6dd49b754875ff058b404caf5ac428be196813ae8114ef3fc9ea3836d44c1382a87ba062f74238db70d2554576f7df3d8b58937f84eb521f2d3c8d847c1c8b7b4e9a5901d5dda83eb8d27c569b86e9f4453fa15b769d5c8ee839b7a27c739474ed808dd967d8fbcc2d008ea2474a1281e36879a9793ccc134c9a3f3bcac5e78665deafe4f51f1c840820618ec0f7047999612d29b1486ad9935e07189160bab276102e4886d716d1cfcaa0af6ecbbe027214f5fafc858194fe7769d8d85272c0beba0846694bbad7a8cbd96af98f7c209ffc93376b5b7e51fdd7d5d235404d042237f21c97570968de98fbbc71b7f42e27c0512f654c81bf8c95a86551374bb90e74c01164cdb717f8832330e971b35d46e32f5ebb32a285c52c1108a5db98916a14ea7e8b987431f3e06a12290ddfa2facdf3c7b514eb096354f9b155b30523685e00adde01ed3ce66ecffca1336c4b929a9131181f5b3f6096ae0305517042e758262fef119fbb98027a3925c9ef367c19341d3481d3ff9c281c65f89d3ca131a32c65992ba53f78a0cd9ae3c3130fb3d45de481afc573f20d0cd1033eb5910c71e5450ea9778c11b7bfdadc4e23b15b65bba7925af954f3875cd05b3e2fbe22ead6de801253d754c5447c726fc9208feed9edc95181abd151ab32325041272d525dc3a34df63ac55acdf284aea7adb65cad10c50b9d863d8d79a9889fcbd04fa193bd861564abdb3eaf4d50c0cc613095213f50132d7167ff7f353cbd8c39c88084727a22ac7600f000d634e1880da923c1fc5c0336727f88ef073657b1a5999fc807c0f7539e2e958dec940f6ab180ee1ab60cffb7e909ab43b07bb19f66d1df74287f8f956279e0f7eee8db61db204c8b9a5dfad39bf3293fc289488b9d588c32edf94a25b3262af93c8c47ea2fb8a61828fdc15a9b5818d42dbb2e5f40f3c9d7fe7692768192717a74c47fdbbc12deb3860258f8659b479353e7eca3816056567f2cb3584bb6e29bc76c8f6f6a9f0e25b12dbb2bc500b0ceea680d502b869eed13d721e2c26b53ff7fca2839db2ca55dd63844dc43cc45e5aaa8132e601d38cb67def752726e50c34bb53752553a0e51d1f8b8c2e96ee5e2cf48349acebf708d04c852310ab208ddb6b898f16a2f6d36d71f6803febd9f6a494af55dd02ceb7a1fe8349d2cf990e88a45aa9839063c94fd7be897e38d778752487df6bbf796243ced08299c7857ebe1ab036b644e13739860e57a17f5f53be99e846929910624caf9e89cd1ac8ce8ac2c1a19fcd5d8646de64b86577a30577a358e91fe828c7a2b8fa7b5dc879944762c0ec3ff1910866737266788ab8d5c7bb3fbcf13ed0e9abe56665f31634fda4406c3f285871a1493af26dccac61ab2045b40c82d1f3ca572197738c9631fbb68591aa656f801de11b3ff91f29574722678fec503f47f9b7f223680702579a0bebe82d628516cf49593827bb82d27b4474c20aaf12c974b9a8f47a713bc9eadca96394ba9b68a8aa688968c811e48c4c7f0528f059d19dacd6ffc83cb4d4f6c25fbb7119222b8a6248faf22e3f2a6a90f3d9087b9e85c83e6d684d1ee61e0ddb99a36fa1d4542b5a7db8b0eafb4b55644a87973eacad0769b3f0414071bace9df0bf411859327ddfda62c3ab35aa8a9d95752347e59bc2adc41189b9131a8350433b5b2aa6dd2ddcf7d40985b8128f2c6fabe9a6c0662fcbf5e2c699309986b392a9839e36b40e0acfa052a990db3ff3e112eb47a3c53724e23fdd30b5752db019e3709a3b2f37ad530d84f0d35120c0cb54376598329acb8827f824b18df3ec3749ebb5e98e9780a722dbb643e3a665e9eb2d665aed22a73afb650d6bcf67428db37e7a56b3c7349ac2be90f3fb216a02ae054259f7066a593bd5f060e28857d54185cba1943edd515102218a373a131dee8e729a8796e09d417f38e62edcd27b807e95b16e5fd1977baf63d23ba19aaa63bb25055866a326c80cdfbff1ee2765408d150153dfb7934b6e55a7fc57459c1302b0879385b4db0a1b8786d338f9abecee88710087a05e0170e1980073f13b8afaaac454782a867ce173f47ecf887dda8d981b68ecdc7ef33b5b63764d61168356a4cfcf53d650df89f2528d0e6d4750b2b2288c8bdc62cb45176d2c756fdbc6c5b8ea4a9fe5e98553750694abb1a03a88864491aa374544650fcc724b64809d4920e6943c8e333b0d7199f9d5c3f7c28dcd44e62109e5b902456738f5d9f9a1d7fd45220d026724d2aa31d5d1b0bb9ba10c1e8f10aaea6cf513ccaa37cc70de3d17fcb1af5dd855f99f453f9afee7c50630faa3927ef843defa1dd5c17b14ed06f80c14fd7a91776475044e3fd409eae0e0683778240146e7a0d002c4c86ca75d7c713a384f66ffd042dc7e03cdbdca8a75f94c4792fc16dbe648da329623fca46366d43df027ce7310eefe428d9348541cd5f0c57ac18e1373d97b19b69ba4ec618ab7a200e465a68c340e215ccdfa7beccaf68e558979e10660075fc84fadf9669ef80511ff7f9bc89388f62a6b153b56026d1a7e823a1bab3faed6f62a4e1d3e8fe222cacb3cbe6866b92e00670a6d44b9eab95304b40a07c226971c712543f43a36beddc7baa808303e99caf1c915cbf59e792be9dff71347b6d3e74ea7d73a926108264f6b6935c2c606ff7abbb1864ae4becbe71d6b1c6a1eea660687a5d6e797b50aa16fdb7008c9c427113827cbe86908d1127ab4303d09d4209e555a4db79f5fad88f7503766d2e022474570de2068fdf9a3bcb64e4b9800c20457f9b29e986e2b981f9ae7732ebba50dae2cf3d14d8e3dfe7c1595d24c813c71d3df92409932ea53e0a91ebfc164e6ee3631aefafa09b6ff0aacfab2485ff15464549e4b279f0958f7e17b6e7259c2b467fe262171ab4b3ca5f8d0ee65aea19c301c232ddf5947ac5b5e967f0a7e2e20d6a3397e9c40881deb4851b564a673ab551f6f890f567cd6d86154262aabd96df721d9cecd850a35f7a3c6eb7baead71bbfe8180c28978c33d81d3ff127711bac4ac413ee71853e3020547d6571cb0f4bb2aa8ec17c54b446d150f86b326e65af9c09edd55ee7f0746b531d324dfd57d6da95fec1a4bd075ab79f6919c8fa8a624c22955fb6034f6b9371311c3932269d2061516f72903af93ae556e7aeeb8e201309bbe3aa9e89da087e333fec89fa9e130cf60d743ebb08fa49d934ef982f116e5573d6584fa668bf6cfb8291cff4b230578639493953527b709b01cc07a2b8c54d4d2ab63cd9b3ec5c0ab8ccbe4043d47131d7166be84b1bd55d2844f35e662fba02b15ae1cc33db02321ff97b90cf3ae385a4b44f202d1cce20ba047a9bd67ac969fa57418554faed0cf5d693299b39ed04b701e9690d339a5d02990687a8f9c9c62999315dadfc657558c686fe0fe8ef38643f99db5c7adb0aba196ab4f708d848264f5b649608799faa8f87da127b52f600e00c88082836d717bf832e4084fbb3b8660dea2c2f4d6d5aefa84112e85cd2891811935dedcfa10ec6f19f39e9ee7f19165435e745ff4016735cd9a86063a28e31e795200b38be1a57a896da7cc8bce5528ab1e604ced09333ef6f986d7c50727f9081f35a8ae3f6d6b8cf24080a26b6b7f3f3f51d558224787ac4b7d55d9bc48c1c53d0cb39c82b1f445e65703c63d04806efcdea4f0e6a5f93868381353c929fecb6e3007006b868cd673d6cd6e257bfbcf671306d2dbc525a11115e4ba3715572cb749139c65e971d38471c357ff1dcd63d95898208a5f06c70c455f54474a1f92de1236bee395fd38313f428c7342ba085676f0de3c440810d3f9893351cdcaaf7907776df99b4ccce552cea1ac6c6db0c4212c8736fe2618aa26f9297e56aa7beb05be1d85d65eac95938703bee48240bf3adeae323b8fde3fdf76b3222849b57b361d8f793af67b5ed1351127ba94e05f7a583b9c6e75bc4d35c33790d0808cadcb5a1abb8e61bd0d8453f6b82920e85475cec31178c5cf9ffce12398b2c48299592949fd510cc11f453f1e974f26874215a0e77a23890e6d3f4b8957012c5283422c88e6d2f5e82058c30276bf0c55b80b52bf73adebf6bc0324f777dcd08da845ca517e156a1ef7b1e13c77bf7fedc608783cfaa0fb24e91fa76b2961422b3533a635021e70136960c725b93f62c11d41ffd2776812c4532fbe679054b5a59fff581316b927bc1c365c448d271850629157c20d361951f8d197f0f280b2d923738a4cd4469c88f3fdf15a806935b575b4750eb2f8dbbbac13dd0d022af9fab7014a31681d45c6df1fe3391bd224427b67ab10539b801caa254f59d04f96f5317527ab693951700cc71f88ba5ac417403d3eae0920fe60a2f0e15052b7474496098fb3aa28549509466b89cd529d5c7d4566d210100c9e079e2c4e15f2544d3a1b8307109641eb06965f0fa25e52090b79183796483bd315403f396d3b5139755dbf3c030b4ac6e11ac0477aeb6e43fc9c90fe4783b0aac9976417d543bc1e52dccb854b11da7acf9297efe69690a92db83706c95b37189382d3b51adfb70046d169f0e76d0bec21db68ce1e593db545f4983f840c15adb7568d0d1697c954222da26b3010f0ad10d584a3e0f51052ca975be0b018bbce649f39cc92465382e3241af761dc6430bb9d3cbcb50aa507ab89aa7383b63240abd6ebf067e7fc52b9b38821120cdf0ded7a6bd96ed30f8bbbe69c64106944043812190d24be01cd6a6da420ae9569b7c0843835fdacae6f20d41c800b7bb1b9cfa6431a0ef2064d9aee116f7b8a50ac322ecd1609c4bde142b84cf7355303cdba8925fa3b67ca990d47be8dfbb777756e1a5cd601e58154421be19a639be02997175a82e50eb0dff522edf1637c</script>
  <div class="hbe hbe-content">
    <div class="hbe hbe-input hbe-input-default">
      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">
      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">
        <span class="hbe hbe-input-label-content hbe-input-label-content-default">您好，这里需要密码。</span>
      </label>
    </div>
  </div>
</div>
<script data-pjax src="/blog/lib/hbe.js"></script><link href="/blog/css/hbe.style.css" rel="stylesheet" type="text/css">
      </section>

      
      
        <nav class="article-nav">
          
            <div class="article-nav-item layout-padding">
  <article class="card-container article-nav-card content-padding--primary soft-size--large soft-style--box">
    
    <div class="card-text">
      
        <a href="/blog/2023/12/19/goView%E6%96%B0%E5%A2%9E%E8%87%AA%E5%AE%9A%E4%B9%89%E7%BB%84%E4%BB%B6/" itemprop="url">
          <h2 class="card-text--title text-ellipsis">goView新增自定义组件</h2>
        </a>
      
      <div class="card-text--row">Newer</div>
    </div>
  </article>
</div>
          
          
            <div class="article-nav-item layout-padding">
  <article class="card-container article-nav-card content-padding--primary soft-size--large soft-style--box">
    
    <div class="card-text">
      
        <a href="/blog/2023/11/26/PG%E5%A4%87%E4%BB%BDbak%E6%A0%BC%E5%BC%8F%E6%96%87%E4%BB%B6/" itemprop="url">
          <h2 class="card-text--title text-ellipsis">Windows PG备份bak格式文件</h2>
        </a>
      
      <div class="card-text--row">Older</div>
    </div>
  </article>
</div>
          
        </nav>
      

      <section class="page-message-container layout-padding">
        


  
  

  
  


      </section>
    </div>
    <div class="widget-info">
      <section class="widget-author widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-body">
    
      <img src="/blog/icon.gif" class="soft-size--round soft-style--box" alt="QAQ">
    
    
      <h2>QAQ</h2>
    
    
      <p>贵在坚持</p>
    

    <div class="count-box">
      <div class="count-box--item">
        <svg class="icon icon-article" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M240.51564747 647.74217627h196.07203239c16.59071043 0 30.16492806-13.57421762 30.16492805-30.16492806V165.10332731c0-33.18142087-30.16492806-60.32985613-60.32985612-60.32985611H245.04038668C225.43318342 104.7734712 210.35071939 119.85593522 210.35071939 139.46313845V617.57724821c0 16.59071043 13.57421762 30.16492806 30.16492808 30.16492806z m663.62841731-452.47392089v482.63884894c0 33.18142087-27.14843525 60.32985613-60.32985612 60.32985613H180.18579134c-33.18142087 0-60.32985613-27.14843525-60.32985612-60.32985613V195.26825538c-49.77213131 0-90.49478418 40.72265287-90.49478417 90.49478417v452.4739209c0 49.77213131 40.72265287 90.49478418 90.49478417 90.49478417h286.56681657c16.59071043 0 30.16492806 13.57421762 30.16492807 30.16492807s13.57421762 30.16492806 30.16492805 30.16492806h90.49478418c16.59071043 0 30.16492806-13.57421762 30.16492805-30.16492806s13.57421762-30.16492806 30.16492807-30.16492807h286.56681657c49.77213131 0 90.49478418-40.72265287 90.49478417-90.49478417V285.76303955c0-49.77213131-40.72265287-90.49478418-90.49478417-90.49478417zM587.41232014 647.74217627h191.54729318c19.60720323 0 34.68966726-15.08246403 34.68966729-34.68966727V134.93839925c0-16.59071043-13.57421762-30.16492806-30.16492808-30.16492805H617.57724821c-30.16492806 0-60.32985613 27.14843525-60.32985612 60.32985611v452.4739209c0 16.59071043 13.57421762 30.16492806 30.16492805 30.16492806z" fill="currentColor"></path>
</svg>
        <span>22</span>
      </div>
      <div class="count-box--item">
        <svg class="icon icon-categories" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M900.3614811 257.09082106h-339.81629553l-67.96326003-101.9448889c-19.41807444-29.12711113-48.54518557-43.69066667-82.52681443-43.69066667H123.6385189c-53.39970333 0-97.09036999 43.69066667-97.09037113 97.09036999v582.54222222c0 53.39970333 43.69066667 97.09036999 97.09037113 97.09037002h776.7229622c53.39970333 0 97.09036999-43.69066667 97.09037113-97.09037002V354.18119104c0-53.39970333-43.69066667-97.09036999-97.09037113-97.09036998z m-97.09036999 242.72592554H220.72888889c-24.27259221 0-48.54518557-24.27259221-48.54518556-48.54518556s24.27259221-48.54518557 48.54518556-48.54518444h582.54222222c24.27259221 0 48.54518557 24.27259221 48.54518556 48.54518444s-24.27259221 48.54518557-48.54518556 48.54518556z" fill="currentColor"></path>
</svg>
        0
      </div>
      <div class="count-box--item">
        <svg class="icon icon-tags" viewBox="0 0 1098 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M283.42180005 272q0-28.38857157-20.09142843-48.48000001t-48.47999998-20.09142842-48.48000002 20.09142842-20.09142846 48.48000001 20.09142846 48.48 48.48000002 20.09142843 48.47999998-20.09142843 20.09142843-48.48zM855.0332285 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.03999997 263.58857157q-20.9142853 19.81714313-48.75428534 19.81714312-28.38857157 0-48.20571468-19.81714312l-383.04-383.58857157q-20.36571468-19.81714313-34.55999999-54.10285688t-14.19428534-62.6742853l0-222.85714313q0-27.84000002 20.36571469-48.20571469t48.2057147-20.36571466l222.85714313 0q28.38857157 0 62.6742853 14.19428529t54.65142842 34.55999999l383.04000001 382.49142843q19.81714313 20.9142853 19.81714314 48.75428532zM1060.74751475 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.04 263.58857157q-20.9142853 19.81714313-48.75428531 19.81714312-19.26857155 0-31.61142843-7.47428531t-28.38857159-24.13714314l251.79428534-251.7942853q19.81714313-19.81714313 19.81714308-48.20571469 0-27.84000002-19.81714308-48.75428531l-383.04000001-382.49142845q-20.36571468-20.36571468-54.65142842-34.55999999t-62.67428532-14.19428534l120 0q28.38857157 0 62.67428532 14.19428534t54.65142842 34.55999999l383.03999998 382.49142845q19.81714313 20.9142853 19.81714314 48.75428531z" fill="currentColor"></path>
</svg>
        8
      </div>
    </div>
  </div>
</section>

      

      
<section class="widet-notice widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-notice" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M512 945.02305225v28.15620663a24.27259221 24.27259221 0 0 1-24.27259221 24.27259335H394.0352a48.54518557 48.54518557 0 0 1-41.74885888-23.78714112l-110.68302222-184.47170332a132.04290333 132.04290333 0 0 1-17.47626667-48.54518557h118.4502511a200.97706667 200.97706667 0 0 1 76.21594113 14.56355556l20.38897777 133.49925888a48.54518557 48.54518557 0 0 0 36.40888888 27.67075555l16.01991111 2.91271112a24.27259221 24.27259221 0 0 1 20.38897778 25.72894889zM997.45185223 463.45481443a194.18074112 194.18074112 0 0 1-38.8361489 116.50844445 24.75804445 24.75804445 0 0 1-36.4088889 0l-34.95253333-34.95253333a24.27259221 24.27259221 0 0 1-2.91271111-30.58346667 97.09036999 97.09036999 0 0 0 0-106.79940665 24.27259221 24.27259221 0 0 1 2.91271111-30.58346666l34.95253333-34.95253334a24.75804445 24.75804445 0 0 1 18.93262223-7.28177777 26.2144 26.2144 0 0 1 17.47626667 9.70903665A194.18074112 194.18074112 0 0 1 997.45185223 463.45481443z m-194.18074112-388.36148111v776.72296335a48.54518557 48.54518557 0 0 1-48.54518556 48.54518443h-28.64165888a48.54518557 48.54518557 0 0 1-33.98163001-14.07810332l-145.63555556-143.20829668A291.27111111 291.27111111 0 0 0 342.57730333 657.63555556H172.18370333a145.63555556 145.63555556 0 0 1-145.63555556-145.63555556v-97.09036999a145.63555556 145.63555556 0 0 1 145.63555556-145.63555556h170.3936a291.27111111 291.27111111 0 0 0 206.31703779-85.43952668l145.63555555-143.20829554a48.54518557 48.54518557 0 0 1 33.98162888-14.07810446H754.72592555a48.54518557 48.54518557 0 0 1 48.54518556 48.54518555z" fill="currentColor"></path>
</svg>
    <span>NOTICE</span>
  </div>
  <div class="widget-body">
    <p>flex-block主题部分重构，详情查看https://github.com/miiiku/flex-block</p>
  </div>
</section>


      <section class="widget-categorys widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-categories" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M900.3614811 257.09082106h-339.81629553l-67.96326003-101.9448889c-19.41807444-29.12711113-48.54518557-43.69066667-82.52681443-43.69066667H123.6385189c-53.39970333 0-97.09036999 43.69066667-97.09037113 97.09036999v582.54222222c0 53.39970333 43.69066667 97.09036999 97.09037113 97.09037002h776.7229622c53.39970333 0 97.09036999-43.69066667 97.09037113-97.09037002V354.18119104c0-53.39970333-43.69066667-97.09036999-97.09037113-97.09036998z m-97.09036999 242.72592554H220.72888889c-24.27259221 0-48.54518557-24.27259221-48.54518556-48.54518556s24.27259221-48.54518557 48.54518556-48.54518444h582.54222222c24.27259221 0 48.54518557 24.27259221 48.54518556 48.54518444s-24.27259221 48.54518557-48.54518556 48.54518556z" fill="currentColor"></path>
</svg>
    <span>CATEGORYS</span>
  </div>
  <div class="widget-body">
    <ul class="categorys-list">
      
    </ul>
  </div>
</section>

      <section class="widget-tags widget-item  layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-tags" viewBox="0 0 1098 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M283.42180005 272q0-28.38857157-20.09142843-48.48000001t-48.47999998-20.09142842-48.48000002 20.09142842-20.09142846 48.48000001 20.09142846 48.48 48.48000002 20.09142843 48.47999998-20.09142843 20.09142843-48.48zM855.0332285 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.03999997 263.58857157q-20.9142853 19.81714313-48.75428534 19.81714312-28.38857157 0-48.20571468-19.81714312l-383.04-383.58857157q-20.36571468-19.81714313-34.55999999-54.10285688t-14.19428534-62.6742853l0-222.85714313q0-27.84000002 20.36571469-48.20571469t48.2057147-20.36571466l222.85714313 0q28.38857157 0 62.6742853 14.19428529t54.65142842 34.55999999l383.04000001 382.49142843q19.81714313 20.9142853 19.81714314 48.75428532zM1060.74751475 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.04 263.58857157q-20.9142853 19.81714313-48.75428531 19.81714312-19.26857155 0-31.61142843-7.47428531t-28.38857159-24.13714314l251.79428534-251.7942853q19.81714313-19.81714313 19.81714308-48.20571469 0-27.84000002-19.81714308-48.75428531l-383.04000001-382.49142845q-20.36571468-20.36571468-54.65142842-34.55999999t-62.67428532-14.19428534l120 0q28.38857157 0 62.67428532 14.19428534t54.65142842 34.55999999l383.03999998 382.49142845q19.81714313 20.9142853 19.81714314 48.75428531z" fill="currentColor"></path>
</svg>
    <span>TAGS</span>
  </div>
  <div class="widget-body">
    <div class="tags-cloud">
      <a href="/blog/tags/Activiti/" style="font-size: 13.33px;" class="tags-cloud-3">Activiti</a> <a href="/blog/tags/Nginx/" style="font-size: 10px;" class="tags-cloud-0">Nginx</a> <a href="/blog/tags/PG%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 13.33px;" class="tags-cloud-3">PG数据库</a> <a href="/blog/tags/goView/" style="font-size: 13.33px;" class="tags-cloud-3">goView</a> <a href="/blog/tags/java/" style="font-size: 20px;" class="tags-cloud-10">java</a> <a href="/blog/tags/vue/" style="font-size: 16.67px;" class="tags-cloud-7">vue</a> <a href="/blog/tags/%E5%AF%BC%E5%87%BAExcel/" style="font-size: 16.67px;" class="tags-cloud-7">导出Excel</a> <a href="/blog/tags/%E6%8A%A5%E9%94%99/" style="font-size: 10px;" class="tags-cloud-0">报错</a>
    </div>
  </div>
</section>
    </div>
  </article>
</div>

    <!-- footer container -->
<footer id="footer" class="footer">
  <div class="footer-container">
    
    <div class="social-icons">
      
        
      
        
      
        
      
        
          <a href="https://github.com/miiiku/" class="soft-size--primary soft-style--box" target="_blank" rel="noopener noreferrer">
            <svg class="icon icon-github" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M64.6 512c0 195.6 125.4 361.9 300.1 422.9 23.5 5.9 19.9-10.8 19.9-22.2v-77.6c-135.8 15.9-141.3-74-150.5-89-18.5-31.5-61.9-39.5-49-54.5 31-15.9 62.5 4 98.9 58 26.4 39.1 77.9 32.5 104.1 26 5.7-23.5 17.9-44.5 34.7-60.9-140.7-25.2-199.4-111.1-199.4-213.3 0-49.5 16.4-95.1 48.4-131.8-20.4-60.6 1.9-112.4 4.9-120.1 58.2-5.2 118.5 41.6 123.3 45.3 33.1-8.9 70.8-13.7 112.9-13.7 42.4 0 80.3 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.4-43.9 2.9 7.7 24.7 58.3 5.5 118.1 32.5 36.8 49 82.8 49 132.4 0 102.3-59 188.3-200.2 213.2 23.5 23.3 38.1 55.5 38.1 91.1v112.7c0.8 9 0 17.9 15.1 17.9C832.7 877 960.4 709.4 960.4 512.1c0-247.5-200.6-447.9-447.9-447.9C265 64.1 64.6 264.5 64.6 512z"></path>
</svg>
          </a>
        
      
        
          <a href="https://twitter.com/guanquanhong" class="soft-size--primary soft-style--box" target="_blank" rel="noopener noreferrer">
            <svg class="icon icon-twitter" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M962.285714 233.142857q-38.285714 56-92.571429 95.428571 0.571429 8 0.571429 24 0 74.285714-21.714286 148.285714t-66 142-105.428571 120.285714-147.428571 83.428571-184.571429 31.142857q-154.857143 0-283.428571-82.857143 20 2.285714 44.571429 2.285714 128.571429 0 229.142857-78.857143-60-1.142857-107.428571-36.857143t-65.142857-91.142857q18.857143 2.857143 34.857143 2.857143 24.571429 0 48.571429-6.285714-64-13.142857-106-63.714286t-42-117.428571l0-2.285714q38.857143 21.714286 83.428571 23.428571-37.714286-25.142857-60-65.714286t-22.285714-88q0-50.285714 25.142857-93.142857 69.142857 85.142857 168.285714 136.285714t212.285714 56.857143q-4.571429-21.714286-4.571429-42.285714 0-76.571429 54-130.571429t130.571429-54q80 0 134.857143 58.285714 62.285714-12 117.142857-44.571429-21.142857 65.714286-81.142857 101.714286 53.142857-5.714286 106.285714-28.571429z"></path>
</svg>
          </a>
        
      
    </div>
     
    <p>&copy; 2024 <a href="/" target="_blank">QAQ</a></p>

    

    <p>Powered by <a href="https://hexo.io" target="_blank" rel="noopener noreferrer">Hexo</a> Theme - <a href="https://github.com/miiiku/flex-block" target="_blank" rel="noopener noreferrer author">flex-block</a></p>

    <p>
      <a href="javascript:;" id="theme-light">🌞 浅色</a>
      <a href="javascript:;" id="theme-dark">🌛 深色</a>
      <a href="javascript:;" id="theme-auto">🤖️ 自动</a>
    </p>
  </div>
</footer>
  </div>

  <div class="back-to-top-fixed soft-size--round soft-style--box">
    <svg class="icon icon-back-to-top" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
      <path d="M725.333333 426.666667c-12.8 0-21.333333-4.266667-29.866667-12.8l-213.333333-213.333333c-17.066667-17.066667-17.066667-42.666667 0-59.733333s42.666667-17.066667 59.733333 0l213.333333 213.333333c17.066667 17.066667 17.066667 42.666667 0 59.733333C746.666667 422.4 738.133333 426.666667 725.333333 426.666667z"></path>
      <path d="M298.666667 426.666667c-12.8 0-21.333333-4.266667-29.866667-12.8-17.066667-17.066667-17.066667-42.666667 0-59.733333l213.333333-213.333333c17.066667-17.066667 42.666667-17.066667 59.733333 0s17.066667 42.666667 0 59.733333l-213.333333 213.333333C320 422.4 311.466667 426.666667 298.666667 426.666667z"></path>
      <path d="M512 896c-25.6 0-42.666667-17.066667-42.666667-42.666667L469.333333 170.666667c0-25.6 17.066667-42.666667 42.666667-42.666667s42.666667 17.066667 42.666667 42.666667l0 682.666667C554.666667 878.933333 537.6 896 512 896z"></path>
    </svg>
  </div>

  
  <!-- aplayer -->


<!-- dplayer -->


<!-- copy button  -->
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js"></script>

<!-- https://clipboardjs.com/ -->


<script type="text/javascript">
	(function () {
		function getCodeType (elem) {
			const classs = Array.from(elem.classList.values());
			if (classs && classs.length > 1) {
				return classs[1];
			}
			return "plain";
		}

		window.addEventListener("DOMContentLoaded", () => {
			const copyBtnClass = "copy-btn";
			//  instantiate clipboardjs 
			const clipboard = new ClipboardJS('.' + copyBtnClass);

			clipboard.on('success', function (e) {
				console.info('Action:', e.action);
				console.info('Text:', e.text);
				console.info('Trigger:', e.trigger);
				if (e.trigger) {
					e.trigger.classList.add("copied");
					setTimeout(() => {
						e.trigger.classList.remove("copied");
					}, 3000);
				}
				e.clearSelection();
			});

			clipboard.on('error', function (e) {
				console.error('Action:', e.action);
				console.error('Trigger:', e.trigger);
			});

			document.querySelectorAll('figure.highlight').forEach((elem) => {
				const codeContent = elem.querySelector("td.code");
				const copyButton = document.createElement('button');
				copyButton.setAttribute("class", copyBtnClass);
				copyButton.setAttribute("title", "Copy Code");
				copyButton.setAttribute("data-clipboard-text", codeContent.innerText);
				elem.insertBefore(copyButton, elem.children[0]);
			});
		})
	})();
</script>








  


  


  




<script src="/blog/js/script.js"></script>


  
  <!-- 尾部用户自定义相关内容 -->
</body>
</html>
